HDOJ.2094 产生冠军(map)
产生冠军
题意分析
给出n组数据,代表a打败了b,让判断根据这n组数据是否能判断出来产生了冠军。一开始以为这道题很难,其实用map可以应付。
大原则,赢了的人置1,输了的人置0.
首先要知道胜利的人肯定不能输,①所以在map中输了的人置0,②并且如果这个人输过(也就是他的second已经为0了),即使是赢了的话,也不置为1。③最后遍历判断一下,map中是否只有1个一,如果是的话,就能产生冠军,否的话,就不能。
代码总览
/*
Title:HDOJ.2094
Author:pengwill
Date:2016-11-21
*/
#include <iostream>
#include <string>
#include <stdio.h>
#include <map>
using namespace std;
typedef map<string,int> mp;
mp p;
string s1,s2;
int main()
{
cin.sync_with_stdio(false);
//freopen("in.txt","r",stdin);
int n,judge = 0,temp = 0;
mp::iterator iter;
while(cin>>n && n){
judge = temp = 0;
while(n--){
cin.tie(0);
cin>>s1>>s2;
p[s2] = 0;
//①
if(p.count(s1) == 0){
p[s1] = 1;
}else{
iter = p.find(s1);
//②
if(iter->second == 0){
continue;
}else{
p[s1] = 1;
}
}
}
for(iter = p.begin();iter!= p.end();iter++){
//cout<<iter->first<<"\t"<<iter->second<<endl;
//③
if(iter->second == 1){
judge++;
}
}
if(judge == 1){
cout<<"Yes"<<endl;
}else{
cout<<"No"<<endl;
}
p.clear();
}
return 0;
//fclose(stdin);
}
HDOJ.2094 产生冠军(map)的更多相关文章
- hdoj 2094 产生冠军
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- hdu 2094 产生冠军
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2094 产生冠军 Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比 ...
- HDU 2094 产生冠军 (map容器)
title: 产生冠军 杭电 2094 tags: [acm,stl] 题目链接 Problem Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛. 球赛的规则 ...
- HDU 2094 产生冠军(半拓扑排序+map)
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- [HDU] 2094 产生冠军(拓扑排序+map)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2094 注意每组数据处理前,map要清空. #include<cstdio> #includ ...
- [HDU] 2094 产生冠军(拓扑排序+map)
产生冠军 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submissi ...
- HDU 2094 产生冠军 dfs加map容器
解题报告:有一群人在打乒乓球比赛,需要在这一群人里面选出一个冠军,现在规定,若a赢了b,b又赢了c那么如果a与c没有比赛的话,就默认a赢了c,而如果c赢了a的话,则这三个人里面选不出冠军,还有就是如果 ...
- HDU 2094 产生冠军(STL map)
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- hdu 2094 产生冠军(拓扑排序)
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
随机推荐
- 第三模块:面向对象&网络编程基础 第4章 FTP项目作业讲解
01-FTP项目需求 02-FTP项目框架搭建 03-FTP项目用户认证 04--FTP项目制定标准定长消息头 05-FTP项目下载功能开发 06-FTP项目下载功能开发2 07-FTP项目ls文件列 ...
- Spring ApplicationContext 简介
ApplicationContext是对BeanFactory的扩展,实现BeanFactory的所有功能,并添加了事件传播,国际化,资源文件处理等. configure locations:(C ...
- ionic 提示框
html文件 <ion-header> <ion-navbar> <ion-title>Toast</ion-title> </ion-navba ...
- LeetCode - 459. Repeated Substring Pattern - O(n)和O(n^2)两种思路 - KMP - (C++) - 解题报告
题目 题目链接 Given a non-empty string check if it can be constructed by taking a substring of it and appe ...
- Python3 数据类型-集合
在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 集合 ...
- nginx配置和网站的部署
环境: CentOS Linux release 7.3.1611 (Core) nginx version: nginx/1.13.4 PHP 5.4.16 (cli) (built: Nov 6 ...
- 软工第三次作业——个人PSP
9.22--9.26本周例行报告 1.PSP(personal software process )个人软件过程. 类型 任务 预计时间 开始时间 结束时间 中断时间 实际用时 准备工作 学习重定向 ...
- Huffuman树
问题描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. ...
- Scala快速入门-基本数据结构
模式匹配 使用用模式匹配实现斐波那契 def fibonacci(in: Any): Int = in match { case 0 => 0 case 1 => 1 case n: In ...
- node中的__dirname
先说结论:__dirname指的是当前文件所在文件夹的绝对路径. 测试路径如下: 即 根目录/dir0.js 根目录/path1/dir1.js 根目录/paht1/path2/dir2.js 每个d ...