只有第四个点过求调
查看原帖
只有第四个点过求调
1035947
base_kick楼主2024/10/24 11:17
#include<bits/stdc++.h>
using namespace std;
long long adj[2010][2010],n,m,u,v,cg,minn,ming,ans;
bool vis[2010];
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>u>>v>>cg;
		adj[u][v]=adj[v][u]=cg;
	}
	while(1){
		/*for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				cout<<adj[i][j]<<' ';
			}
			cout<<endl;
		}*/
		//cout<<endl;
		minn=115161;
		for(int i=2;i<=n;i++){
			if(adj[1][i]<minn&&(!vis[i])&&adj[1][i]){
				minn=adj[1][i];
				ming=i;
			}
		}
		if(minn==115161)break;
		ans=max(minn,ans);
		//cout<<ans<<endl;
		vis[ming]=1;
		for(int i=1;i<=n;i++){
			if(adj[ming][i]&&(!vis[i]))adj[1][i]=min(adj[1][i],adj[ming][i]);
			adj[ming][i]=0;
		}
	}
	cout<<ans;
}
2024/10/24 11:17
加载中...