蒟蒻做了两个多小时,,自己都快绕进去了,,,理解题目大半天写了个样例都过不去的东西
#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;
}