1 条题解
-
0
#include<stdio.h> #include<algorithm> using namespace std; int n,a[2005],key[2005]; long long ans;bool vis[2005]; void Prim(){ for(int i=1,x=0;i<=n;i++,x=0){ for(int j=1;j<=n;j++) if(!vis[j] && key[j]>=key[x]) x=j; vis[x]=true; for(int y=1;y<=n;y++) if(!vis[y]) key[y]=max(key[y],a[x]^a[y]); } } int main(){ scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&a[i]); Prim(); for(int i=1;i<=n;i++)ans+=(long long)key[i]; printf("%lld",ans); }
- 1
信息
- ID
- 825
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 2
- 上传者