CodeForces 755B PolandBall and Game

来源:互联网 发布:丫头蟋蟀罐淘宝店铺 编辑:程序博客网 时间:2024/05/17 03:58

题目链接: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;}
0 0
原创粉丝点击