比赛 |
“Asm.Def战记之拉格朗日点”杯 |
评测结果 |
WWTWTWWWWT |
题目名称 |
Asm.Def的微小贡献 |
最终得分 |
0 |
用户昵称 |
YXH_YXH |
运行时间 |
12.002 s |
代码语言 |
C++ |
内存使用 |
0.32 MiB |
提交时间 |
2015-11-04 11:16:31 |
显示代码纯文本
#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
const int MAXN=1000;
int N;
int num[MAXN];
bool f[MAXN]={};
int ans[MAXN],len=0;
int temp=0;
void dfs(bool k){
if(!temp&&k){
cout<<len<<endl;
for(int i=1; i<=len; i++)printf("%d ",ans[i]);
exit(0);
}
for(int i=1; i<=N; i++){
if(!f[i]){
f[i]=1;
temp=temp^num[i];
ans[++len]=num[i];
dfs(1);
temp=temp^num[i];
len--;
f[i]=0;
}
}
}
int main(){
freopen("asm_contribute.in","r",stdin);
freopen("asm_contribute.out","w",stdout);
cin>>N;
for(int i=1; i<=N; i++)scanf("%d",&num[i]);
dfs(0);
fclose(stdin);
fclose(stdout);
return 0;
}
/*
//实验 XOR ^
int a[5]={0,1,2,3,5};
for(int i=1; i<=4; i++){
num[0]=num[0]^num[a[i] ];
cout<<num[0]<<' ';
}
cout<<endl;
for(int i=2; i<=4; i++){
num[1]=num[1]^num[a[i] ];
cout<<num[1]<<' ';
}
cout<<endl<<num[1]<<endl;
//cout<<num[1]^num[2]^num[3]^num[5]<<endl;
*/