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的数据.我真的找不到 wa的情况. 请告诉我一些数据. #include <iostream.h> int a[34][34]; int b[34][34]; int ch; int s; int m,n,k; void check(int sx,int sy, int ss) { if (ss==s) ch=1; if (ch==1) return; if (sx==m && sy==(n+1)) return; if (sy==(n+1)) {sx++;sy=1;} int tx,ty; int tmp; if (b[sx][sy]!=0) check(sx,sy+1,ss); if (b[sx][sy]==0) { b[sx][sy]=1; tx=sx;ty=sy+1; if (b[tx][ty]==0) { if ((--a[sx+1][sy])==0) {a[sx+1][sy]++;goto nxt;} if ((--a[tx+1][ty])==0) {a[tx+1][ty]++;goto nxt;} if ((--a[tx][ty+1])==0) {a[tx][ty+1]++;goto nxt;} b[tx][ty]=1; check(sx,sy+1,ss+2); b[tx][ty]=0; if (ch==1) return; a[sx+1][sy]++; a[tx+1][ty]++; a[tx][ty+1]++; } nxt: tx=sx+1;ty=sy; if (b[tx][ty]==0) { if ((--a[sx][sy+1])==0) {a[sx][sy+1]++;goto nxt1;} if ((--a[tx+1][ty])==0) {a[tx+1][ty]++;goto nxt1;} if ((--a[tx][ty+1])==0) {a[tx][ty+1]++;goto nxt1;} if ((--a[tx][ty-1])==0) {a[tx][ty-1]++;goto nxt1;} b[tx][ty]=1; check(sx,sy+1,ss+2); b[tx][ty]=0; if (ch==1) return; a[sx][sy+1]++; a[tx+1][ty]++; a[tx][ty+1]++; a[tx][ty-1]++; } nxt1: b[sx][sy]=0; } } int main() { int i,j; int x,y; cin>>m>>n>>k; for (i=0;i<=m+1;i++) for (j=0;j<=n+1;j++) { if ((i>0) && (i<=m) && (j>0) && (j<=n)) a[i][j]=b[i][j]=0; else a[i][j]=b[i][j]=-1; } for (i=0;i<k;i++) { cin>>x>>y; a[y][x]=b[y][x]=-1; } s=m*n-k; if (s%2==1) { cout<<"NO"<<endl; return 0; } ch=1; for (i=1;i<=m;i++) for (j=1;j<=n;j++) { if (a[i][j]==0) { if (a[i-1][j]!=-1) a[i][j]++; if (a[i+1][j]!=-1) a[i][j]++; if (a[i][j-1]!=-1) a[i][j]++; if (a[i][j+1]!=-1) a[i][j]++; if (a[i][j]==0) {ch=0; goto ext;} } } ext: if (ch==0) { ch=0; check(1,1,0); } if (ch==1) cout<<"YES"<<endl; else cout<<"NO"<<endl; return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator