您的位置:首页 > 其它

hdu 2094 产生冠军

2013-11-15 10:19 453 查看
产生冠军的前提是有且只有一个人赢......

#include <iostream>
#include<stdio.h>
#include<cstring>
using namespace std;
char temp1[30],temp2[30];
char topo[2005][30];
int win[2005];//记录输赢,-1表示赢,0表示输
int main()
{
int n,flag1,flag2,ans;
while(scanf("%d",&n)){
if(n==0) break;
int count=0;
memset(win,-1,sizeof(win));
for(int i=0;i<n;i++){
scanf("%s %s",temp1,temp2);
flag1=flag2=0;
for(int j=0;j<count;j++){
if(strcmp(topo[j],temp1)==0)
flag1=1; //当前选手之前没出现过
if(strcmp(topo[j],temp2)==0){
flag2=1;
win[j]=0;
}
}
if(flag1==0)
strcpy(topo[count++],temp1);
if(flag2==0){
win[count]=0;
strcpy(topo[count++],temp2);
}
}

ans=0;
for(int i=0;i<count;i++){
if(win[i]==-1)
ans++;
}
if(ans==1)printf("Yes\n");
else printf("No\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: