Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
56891 杨中琦 最优布线问题 C++ 通过 100 2 MS 288 KB 503 2022-08-03 15:54:40

Tests(5/5):


#include <bits/stdc++.h> using namespace std; int n,a[101][101]; int dis[101],state[101]; int ans; void Prim(){ memset(dis,0x3f,sizeof(dis)); dis[1]=0; for(int i=1;i<=n;i++){ int t=-1; for(int j=1;j<=n;j++){ if(!state[j]&&(t==-1||dis[j]<dis[t])) t=j; } state[t]=1,ans+=dis[t]; for(int j=1;j<=n;j++){ dis[j]=min(dis[j],a[t][j]); } } } int main(){ cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) cin>>a[i][j]; } Prim(); cout<<ans; return 0; }


测评信息: