#include using namespace std; const int MAX=30; int val[MAX][MAX]; bool visited[MAX][MAX]; const int inf=1e9; int n; const int dx[]= {1,-1,1,-1,1,-1,1,-1}; const int dy[]= {1,1,-1,-1,1,1,-1,-1}; bool valid(int i,int j) { if(i<=0||i>n||j<=0||j>n) return false; return true; } int ans(int i,int j) { fill(val[0],val[MAX-1]+MAX,inf); fill(visited[0],visited[MAX-1]+MAX,false); queue >q; q.push(make_pair(1,1)); val[1][1]=0; while(!q.empty()) { pairtemp=q.front(); //cout<=4) swap(a,b); int nx=x+dx[k]*a; int ny=y+dy[k]*b; if(valid(nx,ny)&&val[nx][ny]>1+val[x][y]) { q.push(make_pair(nx,ny)); val[nx][ny]=1+val[x][y]; } } } if(val[n][n]==inf) return -1; return val[n][n]; } int main() { ios_base::sync_with_stdio(false); cin>>n; for(int i=1; i