111
查看原帖
111
1237804
thomas1234567楼主2024/7/5 22:01

#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); }```c #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:01
加载中...