看了一下提交记录里面 60pts 的,好像没有和我错的是同样的点的,自己出了一些数据也都是对的,所以想求一份 hack 数据,提交记录 。(如果能帮忙找找错哪就更好了,谢谢)
代码如下
#include <bits/stdc++.h>
using namespace std;
#define int long long
int T,h,n;
int f[70000][35],dep_tot[35];
signed main(){
cin>>T;
while(T--){
memset(dep_tot,0,sizeof(dep_tot));
int r=1;
cin>>h;
n=(1<<h)-1;
for(int i=1;i<=n;i++){
for(int j=1;j<=2*h-2;j++){
cin>>f[i][j];
dep_tot[j]^=f[i][j];
}
}
for(int i=1;i<=n;i++){
int flag=1;
for(int j=2;j<=2*h-2;j++){
if(dep_tot[j]!=f[i][j-1]){
flag=0;
break;
}
}
if(flag){
r=i;
break;
}
}
int ds1=0;
for(int i=1;i<=2*h-2;i+=2) ds1^=f[r][i];
int now=0;
for(int i=1;i<=n;i++){
now=ds1;
for(int j=1;j<=2*h-2;j+=2) now^=f[i][j];
if(now) break;
}
for(int i=2;i<=2*h-2;i++) now^=dep_tot[i];
cout<<r<<" "<<now<<endl;
}
return 0;
}