记录编号 159243 评测结果 AAAAAAAAAA
题目名称 超牛冠军赛 最终得分 100
用户昵称 GravatarRa-xp 是否通过 通过
代码语言 C++ 运行时间 0.240 s
提交时间 2015-04-20 14:35:49 内存使用 15.74 MiB
显示代码纯文本
  1. #include<iostream>
  2. #include<fstream>
  3. #include<string>
  4. #include<algorithm>
  5. #include<vector>
  6. #include<cmath>
  7. #include<stack>
  8. #define MAXN 2000+10
  9. using namespace std;
  10. int i, j, n, m;
  11. int list[MAXN];
  12. int key[MAXN]={0},w[MAXN][MAXN];
  13. long long ans=0;
  14.  
  15. void prim()
  16. {
  17. bool b[MAXN]={0};
  18. int u;
  19. key[1]=9999999;
  20. ans=ans-9999999;
  21. for(int i=0;i<=n;i++)
  22. {
  23. u=0;key[u]=0;
  24. for(int i=1;i<=n;i++)
  25. {
  26. if(!b[i]&&key[i]>key[u])
  27. u=i;
  28. }
  29. b[u]=1;ans+=key[u];
  30. for(int i=1;i<=n;i++)
  31. {
  32. if(!b[i]&&w[u][i]>key[i])
  33. key[i]=w[u][i];
  34. }
  35. }
  36. }
  37. int main()
  38. {
  39. freopen("superbull.in","r",stdin);
  40. freopen("superbull.out","w",stdout);
  41. cin>>n;
  42. for(i=1;i<=n;i++)
  43. {
  44. cin>>list[i];
  45. }
  46. for(i=1;i<=n;i++)
  47. {
  48. for(j=1;j<=n;j++)
  49. {
  50. w[i][j]=list[i]^list[j];
  51. }
  52. }
  53. prim();
  54. cout<<ans<<endl;
  55. return 0;
  56. }