1111
查看原帖
1111
1237804
thomas1234567楼主2024/7/5 22:03
#include<bits/stdc++.h> 
int n,m,a,b,c,maxx=-0x7fffffff;
int g[301][301],minn[301];
bool u[301];
int main()
{
	memset(g,0x7f,sizeof(g));
	memset(minn,0x7f,sizeof(minn));
	memset(u,true,sizeof(u));
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++)
	{
		scanf("%d%d%d",&a,&b,&c);
		g[a][b]=g[b][a]=c;
	}
	minn[1]=0;
	for(int i=1;i<=n;i++)
	{
		int k=0;
		for(int j=1;j<=n;j++)
	   	  if(u[j] && minn[j]<minn[k])
	   	    k=j;
	   	u[k]=false;
	   	maxx=max(maxx,minn[k]);
	   	for(int j=1;j<=n;j++)
		  if(u[j] && g[k][j]<minn[j])
		    minn[j]=g[k][j];
	}
	printf("%d %d",n-1,maxx);
}
2024/7/5 22:03
加载中...