[CF755B]
説明
二人は言葉を言ってターンを取る、誰もが自分の言葉の単語ライブラリを言うことができます。パーティーはどんな言葉を言うことができないと述べました。一度だけ、人の言葉ライブラリ内の単語だけでなく、二つの言葉のライブラリに表示されることがあります。人々は否定しなかったことを最初の単語。ゲームの結果を探しています。\(N、M \ル1000年 、L_S \ル500 \)
解決
最適な政策の優先順位は、すべての公開と非公開のうちの単語が単語を言うと言うことでなければなりません。
などの一般的な単語の数を仮定\(C \) 。
場合\(C \)が奇数である場合には、最後の言葉は、この時点で、共通の上部手を話されている\(N \ GE Mが\)は、上側のハンド勝です。
場合\(Cの\)が偶数である場合、最後のワードは、この時点で、公共FLACで話されて\(N> Mの\)は、その後、上部ハンドに勝ちます。
コード
#include <bits/stdc++.h>
using namespace std;
map <string,int> mp;
string tmp;
int n,m;
int main()
{
ios::sync_with_stdio(false);
cin>>n>>m;
for(int i=1; i<=n; i++)
cin>>tmp, mp[tmp]++;
for(int i=1; i<=m; i++)
cin>>tmp, mp[tmp]++;
int c=0;
for(map<string,int>::iterator it=mp.begin(); it!=mp.end(); it++)
c+=(it->second==2);
if(c&1)
cout<<(n>=m?"YES":"NO")<<endl;
else
cout<<(n>m?"YES":"NO")<<endl;
}