| ||||||||||
| 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 | |||||||||
16MS C/C++ 代码#include <stdio.h>
#include <string.h>
const int L=101;
const int d[4][2]={{0,1},{0,-1},{1,0},{-1,0}};
int a[L][L];
int n,t,count;
bool sign;
//char c[100];
void dfs(int x,int y){
a[x][y]=n;
count++;
for (int i=0;i<=3;i++){
int xn=x+d[i][0],yn=y+d[i][1];
if (xn<1||yn<1||xn>n||yn>n||a[xn][yn]!=t)continue;
dfs(xn,yn);
}
return ;
}
int main(void){
freopen ("3194.in","r",stdin);
freopen ("3194.out","w",stdout);
while (scanf ("%d",&n)!=EOF&&n){
memset (a,0,sizeof (a));
for (int i=1,x,y;i<n;i++)
for (char d='a';d!='\n';d=getchar())
scanf ("%d%d",&x,&y),a[x][y]=i;
/*for (int i=1;i<=n;i++){
for (int j=1;j<=n;j++)
printf ("%d ",a[i][j]);
printf ("\n");
}*/
sign=true;
for (int i=1;i<=n;i++){
for (int j=1;j<=n;j++)
if (a[i][j]<n){
count=0,t=a[i][j],dfs(i,j);
if (count!=n){sign=false;break;}
}
if (!sign)break;
}
if (sign)printf ("good\n");
else printf ("wrong\n");
}
return 0;
}
提醒一行有时没有或超过n个。
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator