求出最大的数字及其数量,依次和剩余的每个数字比较。
如果最大数字的数量为奇数,则无法自己消除,最终留下。
如果为偶数则不管怎样最终自己都会消除,但剩余的数字均可保留。
#include<bits/stdc++.h>
using namespace std;#define ll long long
int main()
{
ll t;
cin>>t;
while(t--){
ll n;
cin>>n;
vector<ll> a(n+1);
vector<ll>b(n+1);
for(ll i=0;i<n;i++){
cin>>a[i];
b[i]=a[i];
}
a[n]=0;
sort(a.begin(),a.end(),greater<ll>());
ll cnt=1;
for(ll i=0;i<n;i++){
if(a[i]-a[i+1]==0)
{
cnt++;
}
else{
break;
}
}
if(cnt%2==1){
for(ll i=0;i<n;i++){
b[i]==a[0]?cout<<1:cout<<0;
}
}
else{
for(ll i=0;i<n;i++){
b[i]==a[0]?cout<<0:cout<<1;
}
}
cout<<endl;
}
}

京公网安备 11010502036488号