CodeForces 755B PolandBall and Game

题目链接: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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值