C. MEX Game 1
题解
如果一个数的存量大于1,那么alice可以不着急去拿,只要在bob拿之后再拿就可以了,所以alice要先去拿存量少(==1)的数且尽可能先拿小的
所以可以从0开始遍历直到遇到数字的存量等于零或者第二次遇到存量为一的数
code
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
ll n;
cin>>n;
map<ll,ll> rec;
for(ll i=1;i<=n;i++)
{
ll x;
cin>>x;
rec[x]++;
}
int occur=0,ans=0;
while(1)
{
if(rec[ans]==0) break;
if(rec[ans]==1) occur++;
if(occur==2) break;
ans++;
}
cout<<ans<<endl;
}
return 0;
}

浙公网安备 33010602011771号