【ACM】HDU.2094 产生冠军 【STL-map】
题目链接
问题分析:
题意:
rule1:胜负关系具有传递性
rule2:胜负关系形成闭环时,则闭环内的都不可能是冠军
所以大胆猜测,只要输过一次的人就不可能是冠军,统计最后没有输过的人数,若为1,则就是冠军,否则不能产生冠军!可以AC。
程序说明:
使用map<string, bool>
边输入边记录胜负属性,最后再用迭代器扫描一遍即可。
复杂度:
只是整体扫描了两遍,因此为O(n)
AC程序:
/**************************
//@Author: 3stone
//@ACM: HDU-2094 产生冠军
//@Time: 18/6/10
//@IDE: VSCode2018
***************************/
#include<cstdio>
#include<string>
#include<iostream>
#include<map>using namespace std;int main() {int n, count; map<string, bool> player;string winner, loser;while(cin >> n) {if (n == 0)break;player.clear();count = 0;for (int i = 0; i < n; i++) {cin >> winner >> loser;if(player.find(winner) == player.end()) //若胜者是第一次出现player[winner] = true;player[loser] = false;}map<string, bool>::iterator it;for(it = player.begin(); it != player.end(); it++) {if (it->second)count++;}if(count == 1)cout << "Yes" << endl;elsecout << "No" << endl;}//while system("pause");return 0;
}
程序参考:
海岛Blog 的解法思路与我一致,不过他用set
容器实现两个集合,然后size
作差显得更加清晰明了。
【ACM】HDU.2094 产生冠军 【STL-map】相关推荐
- HDU 2094 产生冠军 (map容器)
title: 产生冠军 杭电 2094 tags: [acm,stl] 题目链接 Problem Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛. 球赛的规则 ...
- HDU hdu 2094 产生冠军 拓扑排序 判定环
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2094 对于是否有环,是通过一个N(节点数)的循环来判定.检查并更新每个节点的入度数. 每找到一个入度唯 ...
- HDU 2094 产生冠军
Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛. 球赛的规则如下: 如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C. 如 ...
- HDU 2094产生冠军
原文链接:http://www.cnblogs.com/FCWORLD/archive/2011/04/07/2007468.html Sample Input 3 Alice Bob Smith J ...
- HDU 2094 产生冠军
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissi ...
- hdu 2094 “产生冠军“
产生冠军 时间限制:1000/1000 MS(Java/其他) 内存限制:32768/32768 K (Java/其他) 提交总数:38623 已接受提交:17522 问题描述 有一群人,打乒乓球比赛 ...
- 杭电ACM 2094 产生冠军——C语言)
Hdu 2094 产生冠军 题目 Problem Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛. 球赛的规则如下: 如果A打败了B,B又打败了C,而A与C之 ...
- C++ 笔记(24)— STL map 类(map实例化、插入、查找、删除)
1. STL 映射类简介 map 和 multimap 是键-值对容器,支持根据键进行查找,区别在于,后者能够存储重复的键,而前者只能存储唯一的键. 为了实现快速查找, STL map 和 multi ...
- STL map 简介
STL map 简介 转载于:http://www.cnblogs.com/TianFang/archive/2006/12/30/607859.html 1.目录 map简介 map的功能 使用ma ...
最新文章
- Netty整合SpringMVC,实现高效的HTTP服务请求
- xcode 4 最低的要求是 10.6.6的版本,如果你是 10.6.3的版本,又不想升级的话。可以考虑通过修改版本号的方法进行安装
- IE浏览器高级设置如何还原
- js获取服务器响应头信息,请问,js中请求头信息和返回头信息的方法
- 第三章EF的基本使用 综合案例(练习)
- 如何实现复杂FPGA设计的时序收敛
- 8086cpu学习笔记(1):系统结构
- 如何通过qq发消息获取他人的IP地址。
- UWP: 通过命令行启动 UWP 应用
- 程序员必会的计算机网络知识 --酷勤网
- <论文阅读>CRaft
- UE4 全局变量的应用(蓝图)
- STM32Cube MX USB双设备MSC+CDC 实现虚拟U盘+虚拟串口
- 运气和技术的另类平衡————对大逃杀及战棋类游戏大热的原因思考(正片)
- java audioinputstream 读取音频文件_从原始文件中获取最多x个字节的AudioInputStream(剪切音频文件)...
- PMBOK(第五版)学习笔记 —— ITTO(输入、工具与技术及输出)汇总
- python绘制象棋棋盘图片_Python开发象棋小游戏(绘制棋盘)
- CodePen最佳实例分享
- 苹果备忘录怎么用计算机,电脑上看iPhone笔记!教你用Win10“安装”苹果备忘录...
- 25.【终极】实战研究二:IMDB影评得分估计
热门文章
- 未能找到下列包文件: C:\Users\Administrator\Desktop\DotNetFX40\dotNetFx40LP_Full_x86_x64zh-Hans.exe
- Intel汇编-带符号乘法
- 蓝桥杯 基础练习 阶乘计算(C语言)
- 利用WSUS搭建补丁升级服务器
- GraphSAGE 源代码 -- 分图训练
- Hive-JDBC-Kerberos认证java代码实现
- 新版CSDN怎么改博客背景
- C++ Primer Plus(第六版)编程练习答案 第3章 处理数据
- C++ typedef typename 作用
- 下载并安装vue-devtools(详细步骤)