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 |
Help ,自己顶一下!!!!In Reply To:请问我这个会什么会wa呢???(见内) Posted by:ecjtubaowp at 2007-05-08 12:05:09 > #include<stdio.h> > #include<iostream.h> > #include<string.h> > int map[1005][1005]; > int chk[1005]; > int match[1005]; > int result,m,n; > int dfs(int p) > { > int i,t; > for(i=0;i<n;i++) > if((map[p][i]==1) && (chk[i]==0)) > { > chk[i]=1; > t=match[i]; > match[i]=p; > if(t==-1||dfs(t)) > return 1; > match[i]=t; > } > return 0; > } > int check() > { > int i,res=0; > memset(match,-1,sizeof(match)); > for(i=0;i<m;i++) > { > memset(chk,0,sizeof(chk)); > if(dfs(i)==1) res++; > } > return res; > } > > int main() > { > int c; > scanf("%d",&c); > while(c--) > { > scanf("%d%d",&m,&n); > int i,j,k; > for(i=0;i<m;i++) > for(j=0;j<n;j++) > map[i][j]=0; > for(i=0;i<n;i++) > { > int a,b; > scanf("%d%d",&a,&b); > map[a-1][i]=1; > map[b-1][i]=1; > } > result=check(); > //for(i=0;i<n;i++) > //printf("%d ",match[i]); > //printf("\n"); > if(result==m) > { > int i; > for(i=0;i<n-1;i++) > cout<<match[i]+1<<" "; > cout<<match[n-1]+1<<endl; > } > else cout<<"NO"<<endl; > } > return 0; > } > /* > 20 > 4 4 > 2 4 > 3 4 > 1 3 > 1 4 > 5 5 > 1 5 > 2 4 > 3 4 > 2 4 > 2 3 > */ > Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator