社区讨论
为什么UKE?
CF1257F Make Them Similar参与者 4已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lo2c3swp
- 此快照首次捕获于
- 2023/10/23 11:24 2 年前
- 此快照最后确认于
- 2023/11/03 11:33 2 年前
CPP
//From:[CF1257F]Make Them Similar
#include<bits/stdc++.h>
using namespace std;
const int MAXN=110;
int n;
int a[MAXN];
map<vector<int>,int> mp;
int p=(1<<15)-1;
int popcount(int x);
int main()
{
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>n;
for(int i=1;i<=n;++i)
{
cin>>a[i];
}
for(int i=0;i<(1<<15);++i)
{
vector<int> fir;
int f=popcount((a[1]>>15)^i);
for(int j=2;j<=n;++j)
{
fir.push_back(popcount((a[j]>>15)^i)-f);
}
mp[fir]=i;
}
for(int i=0;i<(1<<15);++i)
{
vector<int> las;
int l=popcount((a[1]&p)^i);
for(int j=2;j<=n;++j)
{
las.push_back(l-popcount((a[j]&p)^i));
}
if(mp.count(las))
{
cout<<(mp[las]<<15)+i<<endl;
return 0;
}
}
cout<<-1<<endl;
return 0;
}
int popcount(int x)
{
int c=0;
while(x)
{
++c;
x&=(x-1);
}
return c;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...