import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class knight { int ans[]=new int[100]; int cnt=0; int printShortestPath(int n, int x, int y, int s, int t) { //order of priority: UL, UR, R, LR, LL, L. int i,j; if(x==s && y==t) { return 1; } if((x==s-1 && t==y) ||(x==s+1 && t==y) ||(x==s && t==y-1) ||(x==s && t==y+1)) return -1; if(y-1>=0 && x-2>=0 && s=0 && y+1y) //UR { if(printShortestPath(n,x-2,y+1, s,t)==1) { ans[cnt++]=2; return 1; } } if(y+2y) //Right { if(printShortestPath(n,x,y+2, s,t)==1) { ans[cnt++]=3; return 1; } } if(x+2=0 && s>x && t<=y) //LL { if(printShortestPath(n,x+2,y-1, s,t)==1) { ans[cnt++]=4; return 1; } } if(x+2x && t>y) //LR { if(printShortestPath(n,x+2,y+1, s,t)==1) { ans[cnt++]=5; return 1; } } if(y-2>=0 && s==x && t=0; i--) System.out.print(s[ans[i]]); } in.close(); } }