比赛 “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;
*/