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" int a[30][30]; int count=0; void fun(int pi,int pj,int row,int col) { a[pi][pj]=0; count--; while(1) { int hasCol=0,i=0,j=0; for(j=pj;j<=col;j++) if(a[pi][j]==1) { pj=j; a[pi][j]=0; count--; } for(i=pi;i<=row;i++) if(a[i][pj]==1) { pi=i;hasCol=1; a[i][pj]=0; count--; } if(0==hasCol) { for(i=pi+1;i<=row;i++) { for(j=pj+1;j<=col;j++) if(1==a[i][j]) { pi=i; pj=j; break; } if(j<=col)break; } if(i>row)break; } } } void init(int a[30][30]) { int i,j; for(i=1;i<=30;i++) for(j=1;j<=30;j++) a[i][j]=0; } int main() { int i=0,j=0,row=-1,col=-1,fi,fj,robotCount=0; init(a); scanf("%d%d",&i,&j); while(i!=-1||j!=-1) { if(i==0&&j==0) { for(fi=1;fi<=row;fi++) { for(fj=1;fj<=col;fj++) if(a[fi][fj]==1) { fun(fi,fj,row,col); robotCount++; break; } if(0==count)break; } printf("%d\n",robotCount); init(a); row=-1; col=-1; count=0; robotCount=0; } else { a[i][j]=1; if(i>row)row=i; if(j>col)col=j; count++; } scanf("%d%d",&i,&j); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator