七分,奇了怪
查看原帖
七分,奇了怪
1044914
yejuncenyyds楼主2023/9/4 16:44
#include<bits/stdc++.h>
using namespace std;
int n,m,g[5005][5000],MIN[50005];
bool leaf[5005];
int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++){
    	int x,y,z;
    	cin>>x>>y>>z;
    	g[x][y]=g[y][z]=z;
	}
	for(int i=2;i<=n+1;i++) MIN[i]=0x7f;
	for(int i=1;i<=n;i++){
		int k=n+1;
		for(int j=1;j<=n;j++) if((!leaf[j])&&MIN[j]<MIN[k]) k=j;
		leaf[k]=1;
		for(int j=1;j<=n;j++) if((!leaf[j])&&g[k][j]!=0&&g[k][j]<MIN[j]) MIN[j]=g[k][j];
	}
	int sum=0;
	for(int i=1;i<=n;i++){
		if(MIN[i]==0x7f){
			cout<<"orz";
			return 0;
		}
	    sum+=MIN[i];	
	}
	cout<<sum;
	return 0;
}


2023/9/4 16:44
加载中...