比赛 “Asm.Def战记之拉格朗日点”杯 评测结果 AAAWAWWAWW
题目名称 Asm.Def的微小贡献 最终得分 50
用户昵称 WINAPI 运行时间 3.023 s
代码语言 C++ 内存使用 0.32 MiB
提交时间 2015-11-04 11:20:54
显示代码纯文本
#include<cstdio>
#include<stack>
using namespace std;
int a[1001];
int vis[1001]={0};
int sum=0;
int ok=0;
int tot=0;
stack<int> s,q;
int dfs(int k,int n)
{
	for(int i=k+1;i<=n;i++)
	{	if(ok==1) return 0;
		if(!vis[i]) 
		{
			int he=sum;
			sum^=a[i];
	//		printf("%d\n",sum);
			vis[i]=1;
			if(sum==0) 
			{s.push(i);ok=1;return 0;}
			else 
			{
				
				s.push(i);tot++;
				dfs(i,n);
				if(ok==1) return 0;
				s.pop();
				vis[i]=0;
				sum=he;
			}
		}
	}
}



int main()
{
	int n;
	freopen("asm_contribute.in","r",stdin);
	freopen("asm_contribute.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]);
	dfs(0,n);
//	printf("%d\n",tot);
	printf("%d\n",s.size());
	while(s.size())
	{
		int u=s.top();
		s.pop();
		q.push(u);
	}
	while(q.size())
	{
		int u=q.top();
		q.pop();
		printf("%d ",u);
	}
	return 0;
	
}