hdu 2094 产生冠军
2015-11-20 22:10
357 查看
题目链接:hdu 2094 产生冠军
#include<iostream> #include<cstdio> #include<cstring> #include<map> #define maxn 11111 using namespace std; int in[maxn],n; int vis[maxn]; int main() { string a,b; while(~scanf("%d",&n),n) { map<string,int>mapp; int cnt = 0; fill(vis,vis+maxn,0); for(int i=0;i<n;i++) { cin>>a>>b; if(!mapp[a]) mapp[a]=++cnt;//cnt表示当前人的标号 if(!mapp[b]) mapp[b]=++cnt; vis[mapp[b]]=1;//该标号的人失败,则标记为1 } int sum = 0; for(int i=1;i<=cnt;i++) sum+=vis[i];//cnt为总人数,sum为失败过的人数 if(cnt==sum+1) cout<<"Yes"<<endl;//如果失败过的人数等于总人数减一,也就是只有一个人没有失败过 else cout<<"No"<<endl; } return 0; }
相关文章推荐
- 转-LMA和VMA
- 《第一行代码--Android》读书笔记之数据存储
- 你知道如何判定一个大整数为素数吗?——米勒拉宾素数判定算法
- 【JAVA】第三方工具库【索引】
- Java 实现Excel表数据的读取和写入 以及过程中可能遇到的问题
- android实现侧边导航栏
- 两列固定,中间列宽度自适应
- 冰与火之歌:Python的三元表达式
- ubuntu下安装redis
- LightOJ 1027-A Dangerous Maze
- java基础多线程
- 慕课网 JAVA 第一季 语法基础
- 多线程 ——NSThread
- JerryScript 和 IoT.js:来自三星的物联网JavaScript
- Windows下Android开发环境的搭建
- 求一列数的全排列
- 第一次做leetcode中Difficulty为easy的题-292
- Objective-c单例模式的正确写法
- 杭电2094
- Two Sum