Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
307370 | 冯琦浩 | [在线测评解答教程] A+B 问题(有框架) | C++ | 运行出错 | 0 | 1 MS | 248 KB | 689 | 2025-01-04 09:34:15 |
#include<bits/stdc++.h> using namespace std; int k,l,n,m,inf=9999999,sum,max1,e[101][101],minn[101]; bool u[101]; void prim(){ memset(minn,0x7f,sizeof(minn)); memset(u,1,sizeof(u)); minn[1]=0; for(int i=1;i<=n;i++){ k=0; for(int j=1;j<=n;j++) if(u[j]&&minn[j]<minn[k])k=j; u[k]=0; for(int j=1;j<=n;j++) if(u[j]&&e[k][j]<minn[j])minn[j]=e[k][j]; } } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(i==j)e[i][j]=0; else e[i][j]=inf; } } for(int i=1;i<=m;i++){ int a,b,c; cin>>a>>b>>c; e[a][b]=e[b][a]=c; max1+=c; } prim(); for(int i=1;i<=n;i++)sum+=minn[i]; cout<<max1-sum; return 0; }