CF2141B Games
题目传送门
思路
我们设 Alice 独有的游戏(即不在对方游戏列表里的游戏)数量为
接下来我们可以分两种情况来讨论:
- 若
cnta>cntb ,此时 Bob 所有独有的游戏都会被推荐(即推荐cntb 次),又因为 Alice 先开始推荐,所以 Alice 会推荐cntb+1 次。最后加上推荐成功的那一次,总次数为2 \times cntb+2 。 - 若
cnta \le cntb ,此时 Alice 所有独有的游戏都会被推荐(即推荐cnta 次),但 Bob 这时就只能推荐cnta 次(因为他后推荐)。最后加上推荐成功的那一次,总次数为2 \times cnta+1 。
代码
#include <bits/stdc++.h>
using namespace std;
const int N=100+4;
int a[N],b[N];
void solve()
{
int n,m;
cin >>n>>m;
int cnta=n,cntb=m;
for(int i=1;i<=n;i++) cin >>a[i];
for(int i=1;i<=m;i++) cin >>b[i];
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(a[i]==b[j]) cnta-- , cntb--;
}
}
if(cnta>cntb) cout <<2*cntb+2;
else cout <<2*cnta+1;
cout <<'\n';
}
int main()
{
int t;
cin >>t;
while(t--) solve();
return 0;
}