| ||||||||||
| 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 | |||||||||
Re:why wa ????In Reply To:why wa ???? Posted by:xinghun4 at 2007-09-11 17:00:02 > #include<stdio.h>
> #include<iostream>
> int n,num,t;
> int grid[100][100];
> void search(int k,int *x,int *y)
> { int i,j;
> for(i=1;i<=n;i++)
> for(j=1;j<=n;j++)
> if(grid[i][j]==k)
> {*x=i;*y=j;break;}
> }
> void go(int,int,int);
> void find(int k,int x,int y)
> { if(x<1||x>n||y<1||y>n) return ;
> if(grid[x][y]==k)
> { t++;
> grid[x][y]=0;
> go(k,x,y);
> }
> }
> void go(int k,int x,int y)
> { if(t==n) {num++;return ;}
> find(k,x-1,y);
> find(k,x,y-1);
> find(k,x+1,y);
> find(k,x,y+1);
> }
> int main()
> { int i,j,x,y;
> while(scanf("%d",&n)&&n)
> { for(i=1;i<=n;i++)
> for(j=1;j<=n;j++)
> grid[i][j]=n;
> for(i=1;i<=n-1;i++)
> for(j=1;j<=n;j++)
> { scanf("%d %d",&x,&y);
> grid[x][y]=i;
> }
> for(num=0,i=1;i<=n&&num<n;i++)
> { search(i,&x,&y);
> t=1;
> go(i,x,y);
> if(t<n) break;
> }
> if(num==n) printf("good\n");
> else printf("wrong\n");
> }
> system("pause");
> return 0;
> }
在search(i,&x,&y);
后加个grid[x][y]=0
就ac啦,晕晕晕
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator