using System.Collections.Generic;
public static readonly int[][] Dirs = new int[][] {
public static int GetMinKnightMoves(int x, int y) {
Queue<int[]> queue = new Queue<int[]>();
HashSet<string> visited = new HashSet<string>();
queue.Enqueue(new int[]{0,0});
for(int i = 0; i < size; i++)
var point = queue.Dequeue();
if(currX == x && currY == y)
if(r >= -1 && c >= -1 && !visited.Contains(string.Format("{0},{1}", r, c)))
queue.Enqueue(new int[]{r,c});
visited.Add(string.Format("{0},{1}", r, c));
public static void Main()
Console.WriteLine("UniLecs");
Console.WriteLine(GetMinKnightMoves(2, 1).ToString());
Console.WriteLine(GetMinKnightMoves(5, 5).ToString());