题解:利用set的判重功能,直接计算出现的字符串数量,同时记录失败的字符串,如果两者相差1,则有冠军,否则没有:
#include <iostream>
#include <string>
#include <set>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n),n){
getchar();
string a,b;
set sum;
set fail;
for(int i=0;i<n;i++){
cin>>a>>b;
sum.insert(a);
sum.insert(b);
fail.insert(b);
}
if(sum.size()-fail.size()==1)puts("Yes");
else puts("No");
}
return 0;
}