社区讨论
关于月赛T2
学术版参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lo2pr6rf
- 此快照首次捕获于
- 2023/10/23 17:46 2 年前
- 此快照最后确认于
- 2023/10/23 17:46 2 年前
蒟蒻做了两个多小时,,自己都快绕进去了,,,理解题目大半天写了个样例都过不去的东西
CPP#include <bits/stdc++.h>
using namespace std;
const int N=1e5+9;
string c,d;
long long k,sc,sd;
unsigned int a[N],b[N],res;
int n,t,T;
unsigned int yhjbh(unsigned int x){
for(int i=0;i<=sd;i++) d[i]=0;
sc=c.size(),sd=d.size();
res=0;t=0;
while(x>1){
d[t++]=x%2;
x=x/2;
}
for(int i=0;i<=max(sd,sc);i++){
if(d[i]==c[i]) c[i]=0;
else c[i]=1;
}
sc=c.size();
for(int i=0;i<=sc;i++){
res=c[i]*(1<<i)+res;
}
return res;
}
int main()
{
scanf("%d",&T);
while(T--){
scanf("%d%lld",&n,&k);
for(int i=1;i<=n;i++)
scanf("%u",&a[i]);
while(k--){
for(int i=1;i<=n;i++)
for(int j=n;j>=1;j--){
if(j==i) continue;
b[i]=yhjbh(a[j]);
}
for(int i=1;i<=n;i++){
a[i]=b[i];
b[i]=0;
}
}
for(int i=1;i<=n;i++)
printf("%u ",a[i]);
for(int i=1;i<=n;i++){
a[i]=0;
b[i]=0;
}
}
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...