记录编号 | 159237 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 超牛冠军赛 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.417 s | ||
提交时间 | 2015-04-20 14:27:49 | 内存使用 | 31.18 MiB | ||
#include<cstdio> #include<deque> #include<iostream> using namespace std; long long n,ans=0,bj[2010][2010],pi[2010],key[2010],p[2010 ]; int chishi() { int i; for(i=0;i<=n;i++) { key[i]=999999; pi[i]=0; } return 0; } int prim() { int i=1,j,v[2001]={0},m; chishi(); key[0]=999999; key[1]=0; while(i<=n) { for(j=1;j<=n;j++) { if(key[j]<key[0]&&v[j]==0) { key[0]=key[j]; m=j; } } v[m]=1; ans=ans+key[m]; key[0]=999999; for(j=1;j<=n;j++) { if(v[j]==0&&bj[m][j]!=-1&&bj[m][j]<key[j]) { key[j]=bj[m][j]; pi[j]=m; } } i++; } return 0; } int main() { freopen("superbull.in","r",stdin); freopen("superbull.out","w",stdout); scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&p[i]); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { bj[i][j]=-(p[i]^p[j]); } prim(); cout<<-1*ans; return 0; }