| ||||||||||
| 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 | |||||||||
又一个贴代码的!In Reply To:AC了的程序,仅供参考 Posted by:A861223 at 2006-08-22 21:22:15 > #define maxn 2001
> #include<stdio.h>
> #include<string.h>
> int g[3]={0,2,1};
> int num,fro,beh,n,q,m,x,y,p[2*maxn],f[maxn][maxn],use[maxn],color[maxn];
> void task1()
> { int j1;
> memset(f,0,sizeof(f));memset(use,0,sizeof(use));memset(color,0,sizeof(color));
> scanf("%d %d",&n,&m);
> for(j1=1;j1<=m;j1++)
> {scanf("%d %d",&x,&y);
> f[x][0]+=1;f[x][f[x][0]]=y;
> f[y][0]+=1;f[y][f[y][0]]=x;
> }
> }
> void main()
> {int i1,j,z;
> scanf("%d",&q);
> for (i1=1;i1<=q;i1++)
> { task1();z=0;num=0;
> do
> {for (j=1;j<=n;j++) if (use[j]==0) break;
> memset(p,0,sizeof(p));use[j]=1;color[j]=1;p[1]=j;fro=0;beh=1;num+=1;
> do
> {fro+=1;
> for(j=1;j<=f[p[fro]][0];j++)
> if (use[f[p[fro]][j]]==1&&color[f[p[fro]][j]]==color[p[fro]]) {z=1;break;}
> else if (use[f[p[fro]][j]]==0)
> {
> beh+=1;p[beh]=f[p[fro]][j];
> color[f[p[fro]][j]]=g[color[p[fro]]];
> use[f[p[fro]][j]]=1;num+=1;
> }
> if (z==1) break;}
> while (fro<=beh);
> if (z==1) break; }
> while (num<n);
> printf("Scenario #%d:\n",i1);
> if(z==1) printf("Suspicious bugs found!\n");
> else printf("No suspicious bugs found!\n");
> printf("\n");
> }
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator