比赛 “Asm.Def战记之拉格朗日点”杯 评测结果 AAAATTTTTT
题目名称 Asm.Def的微小贡献 最终得分 40
用户昵称 debug 运行时间 24.082 s
代码语言 C++ 内存使用 0.33 MiB
提交时间 2015-11-04 10:24:47
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
long long f[1111]={};
bool kj[1111]={};
bool kk[1111]={};
int n;
void getsum()
{
	for(int i=1;i<=n;i++)
		kk[i]=kj[i];
}
void gg(int a)
{
	if(a>n)
	{
		int sum=0;
		for(int i=1;i<=n;i++)
			if(kj[i])
				sum++;
		if(sum>0)
		{
			long long temp=0;
			for(int i=1;i<=n;i++)
				if(kj[i])
					temp^=f[i];
			if(temp==0)
				getsum();
		}
	}
	else
		kj[a]=1,gg(a+1),kj[a]=0,gg(a+1);
}
int main()
{
	freopen("asm_contribute.in","r",stdin);
	freopen("asm_contribute.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>f[i];
	int ans=0;
	gg(1);
	for(int i=1;i<=n;i++)
		if(kk[i])
			ans++;
	cout<<ans<<endl;
	for(int i=1;i<=n;i++)
		if(kk[i])
			cout<<i<<" ";
	cout<<endl;
}