记录编号 204646 评测结果 AAAAATTATT
题目名称 [SYOI 2015] Asm.Def的微小贡献 最终得分 60
用户昵称 Gravatarslyterlins 是否通过 未通过
代码语言 C++ 运行时间 16.914 s
提交时间 2015-11-04 15:32:16 内存使用 0.29 MiB
显示代码纯文本
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstdlib>
  4. #include<algorithm>
  5. #include<cstring>
  6. #include<vector>
  7. #include<cmath>
  8. using namespace std;
  9. long long n,f[1050],sum,che,cc,dd,ans[1050];
  10. bool vis[1050];
  11. inline void dfs(int x){
  12. if(x>sum){
  13. // for(int i=1;i<sum;i++)cout<<ans[i]<<' ';
  14. // cout<<ans[sum]<<endl;
  15. che=f[ans[1]];
  16. for(int i=2;i<=sum;i++)che=che xor f[ans[i]];
  17. if(che==0){
  18. cout<<sum<<endl;
  19. for(int i=1;i<=sum;i++)cout<<ans[i]<<' ';
  20. // for(int i=1;i<=n;i++)cout<<vis[i]<<' ';
  21. exit(0);
  22. }
  23. return;
  24. }
  25. for(int i=dd;i<=n;i++)
  26. if(!vis[i]){
  27. int ddd=dd;
  28. vis[i]=1;
  29. ans[x]=i;
  30. dd=i;
  31. dfs(x+1);
  32. dd=ddd;
  33. vis[i]=0;
  34. }
  35. }
  36. int main(){
  37. freopen("asm_contribute.in","r",stdin);
  38. freopen("asm_contribute.out","w",stdout);
  39. cin>>n;
  40. for(int i=1;i<=n;i++)cin>>f[i];
  41. for(int i=2;i<=n;i++){
  42. sum=i;dd=1;
  43. dfs(1);
  44. }
  45. }