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 |
有没有人能帮我看看为什么总是结果错误,谢谢#include <stdio.h> struct lives { int have; char kind; } lives[50001]; int main() { int N,K,x,y,i,sum=0; int d; scanf("%d%d",&N,&K); for(i=1;i<=N;i++) { lives[i].have=0; lives[i].kind='n'; } while(1) { scanf("%d%d%d",&d,&x,&y); if(x>N) {sum++; goto L;} else {if(y>N) {sum++; goto J;} else { lives[x].have=1;lives[y].have=1; if(d==1) { lives[x].kind='X'; lives[y].kind='X'; K--;break; } else { lives[x].kind='X'; lives[y].kind='Z'; K--;break; } } } J: L: K--; } while(K--) { scanf("%d%d%d",&d,&x,&y); if(x>N) sum++; else if(y>N) sum++; else if(lives[x].have && lives[y].have) { if(d == 1) { if(lives[x].kind!=lives[y].kind) sum++; } else { if((lives[x].kind=='X') && (lives[y].kind=='Z')) break; else if((lives[x].kind=='Z') && (lives[y].kind=='Y')) break; else if((lives[x].kind=='Y') && (lives[y].kind=='X')) break; else sum++; } } else { if(d == 1) { if(lives[x].have == 1) { lives[y].kind=lives[x].kind; lives[y].have=1; } else { lives[x].kind=lives[y].kind; lives[x].have=1; } } else { if(lives[x].have == 1) { lives[y].have=1; if(lives[x].kind == 'X') lives[y].kind='Z'; if(lives[x].kind == 'Y') lives[y].kind='X'; lives[y].kind='Y'; } else { lives[x].have=1; if(lives[y].kind == 'X') lives[x].kind='Y'; if(lives[y].kind == 'Y') lives[x].kind='Z'; lives[x].kind='X'; } } } } printf("%d",sum); return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator