Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
唉,醉了,真心找不到哪儿wa了,有没有大神帮帮忙?#include<cstdio> #include<cstring> int h,w,k=0,vis[30],flag[30][30]={0}; int a[8]={-1,1,-2,2,-2,2,-1,1}; int b[8]={-2,-2,-1,-1,1,1,2,2}; using namespace std; int dfs(int sx,int sy,int step) { if(step==h*w){ vis[k]=sx*h+sy; k++; return 1; } for(int i=0;i<8;i++){ int nx=sx+a[i]; int ny=sy+b[i]; if(nx<0||nx>=h||ny<0||ny>=w||flag[nx][ny])continue; flag[nx][ny]=1; if(dfs(nx,ny,step+1)){ vis[k]=sx*h+sy; k++; return 1; } flag[nx][ny]=0; } return 0; } int main() { //freopen("out.txt","w",stdout); int N; scanf("%d",&N); for(int j=1;j<=N;j++){ memset(flag,0,sizeof(flag)); scanf("%d %d",&h,&w); printf("Scenario #%d:\n",j); flag[0][0]=1; k=0; if(!dfs(0,0,1))printf("impossible"); else for(int i=k-1;i>=0;i--){ char c=vis[i]%h+'A'; printf("%c%d",c,vis[i]/h+1); } putchar('\n'); if(j!=N)putchar('\n'); } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator