社区讨论
20分求条
P1547[USACO05MAR] Out of Hay S参与者 2已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @mhj1z9bl
- 此快照首次捕获于
- 2025/11/03 19:24 4 个月前
- 此快照最后确认于
- 2025/11/03 19:24 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
int n,m;
struct node{
int u,v,w;
}g[13333];
int a[3333][3333];
int fa[3333];
int get(int x){
if (x==fa[x]) return x;
return fa[x]=get(fa[x]);
}
void merge(int x, int y){
fa[x]=get(y);
}
int main(){
memset(a,0x3f,sizeof(a));
cin >> n >> m;
for (int i=1; i<=n; i++){
fa[i]=i;
}
for (int i=1; i<=m; i++){
int u,v,w;
cin >> u >> v >> w;
a[u][v]=a[v][u]=min(a[u][v],w);
//g[i]={u,v,w};
}
int gcnt=0;
for (int i=1; i<=n; i++){
for (int j=1; j<=n; j++){
if (i<=j){
gcnt++;
g[gcnt]={i,j,a[i][j]};
}
}
}
int x=0;
for (int i=1; i<=gcnt; i++){
node gi=g[i];
if (get(g[i].u)!=get(g[i].v)){
x++;
merge(g[i].u,g[i].v);
if (x==n-1){
cout << g[i].w;
return 0;
}
}
}
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...