#include using namespace std; int n; int bfs(int x,int y) { pairp,start,r,qq; stack >q; map,pair >m; map,int>state; int i,j; int length[n+1][n+1]; memset(length,0,sizeof(length)); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { r=make_pair(i,j); state[r]=0; } } start=make_pair(0,0); length[0][0]=0; m[start]=start; q.push(start); state[start]=1; int p1,p2; int x_axis[8]={-x,-x,-y,-y,x,x,y,y}; int y_axis[8]={-y,y,-x,x,-y,y,x,-x}; int flag=0,e,f; while(!q.empty()) { p=q.top(); q.pop(); p1=p.first; p2=p.second; // printf("p1=%d p2=%d\n",p1,p2); for(i=0;i<8;i++) { e=p1+x_axis[i]; f=p2+y_axis[i]; // printf("e=%d f=%d\n",e,f); qq=make_pair(e,f); if(e>=0 && e=0 && fv; int d; for(i=1;i<=4;i++) { for(j=1;j<=4;j++) { d=bfs(i,j); v.push_back(d); } } int cnt=0; for(i=0;i