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:关于这题,很无语!!!1In Reply To:关于这题,很无语!!!1 Posted by:nower at 2009-08-18 18:57:25 > WA的代码:#include"stdio.h" > #include"string.h" > int g[1001][1001],sg[1001],flag[1001]; > int n,m,num; > void dfs(int p) > { > int i; > memset(flag,0,sizeof(flag)); > for(i=0;i<n;i++) > { > if(g[p][i]) > { > if(sg[i]==-1) > { > dfs(i); > flag[sg[i]]=1; > } > else > { > flag[sg[i]]=1; > } > } > } > for(i=0;i<n;i++) > if(flag[i]==0) > { > sg[p]=i; > break; > } > } > int main() > { > int i,j,temp,res; > while(scanf("%d",&n)!=EOF) > { > memset(g,0,sizeof(g)); > memset(sg,0xff,sizeof(sg)); > for(i=0;i<n;i++) > { > scanf("%d",&num); > for(j=0;j<num;j++) > { > scanf("%d",&temp); > g[i][temp]=1; > } > } > for(i=0;i<n;i++) > if(sg[i]==-1) > dfs(i); > while(scanf("%d",&m),m!=0) > { > res=0; > for(i=0;i<m;i++) > { > scanf("%d",&temp); > res=res^sg[temp]; > } > if(res==0) > printf("LOSE\n"); > else > printf("WIN\n"); > } > } > return 0; > } > 之后把flag数组改为在dfs函数里面定义,如下: > void dfs(int p) > { > int i; > bool flag[1001]={false}; > 结果AC了 Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator