| ||||||||||
| 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:不知道为何会wa....In Reply To:不知道为何会wa.... Posted by:ziyang at 2004-04-17 10:03:10 > 首先用DFS判断是否连通,若连通,再逐个检查其顶点的入度和出度,以判断是否有一条有向欧拉路。
> 可是为什么会WA????
>
> #include<stdio.h>
> #include<string.h>
>
> long adj[26][26],indeg[26],outdeg[26];
> long visited[26];
> long flag,flagin,flagout;
> char mentioned[26];
> long first,last;
> long count;
> long ment,i,j,v,t;
> long n;
> char input[1010];
> int main()
> {
> long DFS(long);
> scanf("%d",&v);
> for(t=0;t<v;t++)
> {
> scanf("%d",&n);
> for(i=0;i<26;i++) {visited[i]=0; indeg[i]=0; outdeg[i]=0; }
> for(i=0;i<26;i++) for(j=0;j<26;j++) adj[i][j]=0;
> ment=0;flagin=0;flagout=0;
> count=0;
> for(i=0;i<n;i++)
> {
> scanf("%s",input);
> first=input[0]-97;last=input[strlen(input)-1]-97;
> for(j=0;j<ment;j++)
> if((long)mentioned[j]-97==first) break;
> if(j==ment) mentioned[ment++]=first+97;
> for(j=0;j<ment;j++)
> if((long)mentioned[j]-97==last) break;
> if(j==ment) mentioned[ment++]=last+97;
> adj[first][last]=1;
> outdeg[first]++;indeg[last]++;
> }
> DFS((long)mentioned[0]-97);
> if(count!=ment)
> {
> printf("The door cannot be opened.\n"); continue;
> }
> flag=1;
> for (i=0;i<26;i++)
> {
> if(indeg[i]==outdeg[i]) continue;
> if(indeg[i]>outdeg[i]+1 || outdeg[i]>indeg[i]+1) {flag=0;break;}
> if(indeg[i]==outdeg[i]+1) {flagin++; continue;}
> if(indeg[i]==outdeg[i]-1) {flagout++;continue;}
> }
>
> if(flag==0 || flagin>1 || flagout>1 ||flagin!=flagout)
> {
> printf("The door cannot be opened.\n"); continue;
> }
> printf("Ordering is possible.\n");
> }
> return 0;
> }
> long DFS(long ch)
> {
>
> count++;
> visited[ch]=1;
> for(i=0;i<26;i++)
> {
> if(adj[ch][i]>=1 && visited[i]==0) DFS(i);
> }
> for(i=0;i<26;i++)
> {
> if(adj[i][ch]>=1 && visited[i]==0) DFS(i);
> }
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator