#include #include #include #include #include #include #include #define mp make_pair using namespace std; int n,s[30][30]; int u[30][30]; void hii(int x,int y){ memset(u,-1,sizeof(u)); int i,j; queue,int> > q; q.push(mp(mp(0,0),0)); u[0][0]=0; while(!q.empty()){ int a,b,c; a=q.front().first.first; b=q.front().first.second; c=q.front().second; if(a+x=0 && b+y=0 && b-y>=0 && u[a-x][b-y]==-1){ u[a-x][b-y]=c+1; q.push(mp(mp(a-x,b-y),u[a-x][b-y])); } if(a+x=0 && u[a+x][b-y]==-1){ u[a+x][b-y]=c+1; q.push(mp(mp(a+x,b-y),u[a+x][b-y])); } if(a+y=0 && b+x=0 && b-x>=0 && u[a-y][b-x]==-1){ u[a-y][b-x]=c+1; q.push(mp(mp(a-y,b-x),u[a-y][b-x])); } if(a+y=0 && u[a+y][b-x]==-1){ u[a+y][b-x]=c+1; q.push(mp(mp(a+y,b-x),u[a+y][b-x])); } q.pop(); } s[x][y]=u[n-1][n-1]; return; } int main() { int i,j; cin >> n; memset(s,-1,sizeof(s)); for(i=1;i