求调
  • 板块学术版
  • 楼主Thekhoi_
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/16 20:26
  • 上次更新2024/7/16 21:33:00
查看原帖
求调
1062420
Thekhoi_楼主2024/7/16 20:26

详情及代码

题目戳这里

//最小生成树模板
#include<bits/stdc++.h>
#define INF 100000005
using namespace std;
int n,m,q[5005][5005],dis[5005],vis[5005];
int ans;
int main() {
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int x,y,z;
		cin>>x>>y>>z;
		q[x][y]=z,q[y][x]=z;
	}
	for(int i=1;i<=n;i++) dis[i]=INF;
	dis[1]=0;
	for(int i=1;i<=n;i++){
		int k=0;
		dis[k]=INF;
		for(int j=1;j<=n;j++)
			if(!vis[j]&&dis[j]<dis[k])
				k=j;
		vis[k]=1;
		ans+=dis[k];
		for(int j=1;j<=n;j++)
			if(!vis[j]&&q[k][j]!=0&&q[k][j]<dis[j])
				dis[j]=q[k][j];
	}
	if(ans>INF) cout<<"orz";
	else cout<<ans;
	return 0;
}

30pts求调

2024/7/16 20:26
加载中...