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<stdio.h> bool pan[4][4]; struct sit { int x,y; }sits[16]; bool ok(bool pan[4][4]) { int i,j; for(i=0;i<4;++i){ for(j=0;j<4;++j){ if(pan[i][j]==0)return 0; } } return 1; } void flip(int x,int y) { int i; pan[x][y]=!pan[x][y]; for(i=0;i<4;++i){ pan[i][y]=!pan[i][y]; pan[x][i]=!pan[x][i]; } } bool work(int n,int x) { if(n==0){ if(ok(pan))return 1; else return 0; } int t=1; int i,j; for(i=x/4;(i<4)&&t;++i){ for(j=x%4;(j<4)&&t;++j){ flip(i,j); if(work(n-1,i*4+j+1)){ t=0; sits[n-1].x=i+1; sits[n-1].y=j+1; } flip(i,j); } } return !t; } int main() { int k; int i,j; for(i=0;i<4;++i){ char row[8]; scanf("%s",row); for(j=0;j<4;++j){ pan[i][j]=(row[j]=='+')?0:1; } } for(k=0;k<=16;++k){ if(work(k,0)){ printf("%d\n",k); for(i=k-1;i>=0;--i){ printf("%d %d\n",sits[i].x,sits[i].y); } return 0; } } } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator