#include #include #include #include #include #include #include using namespace std; int board[25][25]; int res[25][25]; int n; void calc(int i, int j, int a, int b, int turn) { if(i<1 || i>n) return; if(j<1 || j>n) return; if(board[i][j]!=-1 && board[i][j]<=turn) return; //std::cout << "try " << i << " " << j << " val " << board[i][j] << endl; //std::cout << " " << a << " " << b << endl; board[i][j]=turn; int ni,nj; ni=i+a;nj=j-b; calc(ni,nj,a,b,turn+1); ni=i+a;nj=j+b; calc(ni,nj,a,b,turn+1); ni=i-a;nj=j-b; calc(ni,nj,a,b,turn+1); ni=i-a;nj=j+b; calc(ni,nj,a,b,turn+1); if(a==b) return; ni=i+b;nj=j-a; calc(ni,nj,a,b,turn+1); ni=i+b;nj=j+a; calc(ni,nj,a,b,turn+1); ni=i-b;nj=j-a; calc(ni,nj,a,b,turn+1); ni=i-b;nj=j+a; calc(ni,nj,a,b,turn+1); } void reset() { for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { board[i][j]=-1; } } } int main() { std::cin >> n; for(int i=1;i