题目链接:
http://codeforces.com/problemset/problem/755/B
题解:
题目大意:给出两个字符串,其中一些的字符串是相同的。两个人轮流开始说话,一个人说过的词,下个人不能再说,问最后谁会赢。(先手赢)
先手赢的条件:
1.先手含有的词比后手多的时候。
2.当重复的词为奇数,并且全部的词减去重复的词后仍然比后手多的时候。
代码:
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define met(a,b) memset(a,b,sizeof(a))
#define inf 0x3f3f3f3f
typedef long long ll;
const int maxn = 500+10;
char s1[1000][maxn];
char s2[1000][maxn];
int n,m;
int main()
{
while(cin>>n>>m)
{
for(int i=0;i<n;i++)
cin>>s1[i];
for(int i=0;i<m;i++)
cin>>s2[i];
int ans=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
if(strcmp(s1[i],s2[j])==0)
ans++;
}
n=n-ans+ans%2;
m=m-ans;
if(n>m)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}