CodeForces 755B PolandBall and Game

xiaoxiao2021-02-28  80

题目链接:http://codeforces.com/contest/755/problem/B 题意:两个人玩游戏,每人轮流说一个词,不能说之前说过的,然后谁先不能说谁就输,问你最后谁赢了,每个人说的词是已经准备好了的第一个人有n个词,第二个人有m个词,第一个人先手,如果第一个人赢了就输出YES,否则输出NO 解析:首先想相同的词,肯定每个人是一人说一个,然后减去那些相同的词,假设有cnt个词不同,如果cnt是偶数,一人轮流锁一个刚好说完,但是如果是奇数的话,第一个人能比第二个人多说一个,所以n也就少减一个,然后判断n和m谁大,n>m输出YES,否则NO

#include <bits/stdc++.h> using namespace std; const int maxn = 3e5+100; const int inf = 0x7fffffff; set<string >ans; int main(void) { string a; int n,m; scanf("%d %d",&n,&m); int cnt = 0; for(int i=0;i<n;i++) { cin>>a; ans.insert(a); } for(int i=0;i<m;i++) { cin>>a; if(ans.find(a)!=ans.end()) cnt++; } n -= cnt/2,m -= (cnt+1)/2; if(n>m) puts("YES"); else puts("NO"); return 0; }
转载请注明原文地址: https://www.6miu.com/read-39831.html

最新回复(0)