codeforces755B. PolandBall and Game(map)
来源:互联网 发布:中国网络全世界最自由 编辑:程序博客网 时间:2024/04/29 20:23
B. PolandBall and Game
time limit per test1 second
memory limit per test256 megabytes
inputstandard input
outputstandard output
PolandBall is playing a game with EnemyBall. The rules are simple. Players have to say words in turns. You cannot say a word which was already said. PolandBall starts. The Ball which can’t say a new word loses.
You’re given two lists of words familiar to PolandBall and EnemyBall. Can you determine who wins the game, if both play optimally?
Input
The first input line contains two integers n and m (1 ≤ n, m ≤ 103) — number of words PolandBall and EnemyBall know, respectively.
Then n strings follow, one per line — words familiar to PolandBall.
Then m strings follow, one per line — words familiar to EnemyBall.
Note that one Ball cannot know a word more than once (strings are unique), but some words can be known by both players.
Each word is non-empty and consists of no more than 500 lowercase English alphabet letters.
Output
In a single line of print the answer — “YES” if PolandBall wins and “NO” otherwise. Both Balls play optimally.
Examples
input
5 1
polandball
is
a
cool
character
nope
output
YES
input
2 2
kremowka
wadowicka
kremowka
wiedenska
output
YES
input
1 2
a
a
b
output
NO
Note
In the first example PolandBall knows much more words and wins effortlessly.
In the second example if PolandBall says kremowka first, then EnemyBall cannot use that word anymore. EnemyBall can only say wiedenska. PolandBall says wadowicka and wins.
1Y的感觉真好.
思路
cnt1为第一个人有的单词,cnt2为第二个人的单词,cnt3为两人共有的单词
因为两个人每个人都考虑最好情况(都是聪明人)
如果cnt3是奇数,cnt1 占cnt3/2+1,cnt2占cnt3/2,
如果cnt3是偶数,两人一人一半
最后判断cnt1>cnt2,是则YES,否则NO
#include<bits/stdc++.h>using namespace std;#define N 1000+10map<string,int> a,b;int main(){ int n,m; cin>>n>>m; string str; int cnt1=0,cnt2=0,cnt3=0; for(int i=0;i<n;i++){ cin>>str; if(a[str]==0){ a[str]++; cnt1++; } } for(int i=0;i<m;i++){ cin>>str; if(b[str]==0){ b[str]++; cnt2++; if(a[str]!=0){ cnt3++; } } } if(cnt3&1) cnt1+=cnt3/2+1,cnt2+=cnt3/2; if(cnt1>cnt2) cout<<"YES"<<endl; else cout<<"NO"<<endl;}
- codeforces755B. PolandBall and Game(map)
- 755B PolandBall and Game
- 【codeforces 755B】PolandBall and Game
- codeforces-755-B PolandBall and Game
- Codeforces 755-B. PolandBall and Game(贪心)
- 【Codeforces 755 B PolandBall and Game】
- Codeforces 755B-PolandBall and Game
- CodeForces 755B PolandBall and Game
- 文章标题 Coderforces 755B : PolandBall and Game(水)
- A. PolandBall and Hypothesis
- 8VC Venture Cup 2017 - Elimination Round B. PolandBall and Game【思维+模拟】
- 755A PolandBall and Hypothesis
- 【codeforces 755A】PolandBall and Hypothesis
- 【codeforces 755C】PolandBall and Forest
- 【codeforces 755D】PolandBall and Polygon
- codefors755A. PolandBall and Hypothesis(打表+二分)
- Codefoeces 755A-PolandBall and Hypothesis
- Codeforces 755C-PolandBall and Forest
- 【数据结构】-线性表-链表 熟练度max=6(利用递归倒序输出L中的值域)
- 利用Nexus来构建企业级Maven仓库
- 栈的顺序存储实现
- 欢迎使用CSDN-markdown编辑器
- Ajax基础笔记
- codeforces755B. PolandBall and Game(map)
- .9.png图片在Android Studio里报错误的解决方案
- 51nod 1428 活动安排问题
- 个人对于GBK与UTF-8的理解
- java进程内存分析
- 威佐夫博弈
- Trapping Rain Water
- PAT甲级1075
- 四个月的蜕变之UDP和TCP的简单实现和基本流程