记录编号 159237 评测结果 AAAAAAAAAA
题目名称 超牛冠军赛 最终得分 100
用户昵称 Gravatarmikumikumi 是否通过 通过
代码语言 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;
}