社区讨论

80WA求条对的关

P1396营救参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mhjtnnuq
此快照首次捕获于
2025/11/04 08:19
4 个月前
此快照最后确认于
2025/11/04 08:19
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
struct abcd{
    int u,v,w;
}a[20005];
int f[1005],n,m,s,t;
int find(int a){
    if(f[a]==a)return a;
    return f[a]=find(f[a]);
}
void hb(int a,int b){
    f[find(a)]=find(b);
}
bool cmp(abcd a,abcd b){
    return a.w<b.w;
}
void kruskal(void){
    sort(a+1,a+1+m,cmp);
    for(int i=1;i<=m;i++){
        if(find(a[i].u)!=find(a[i].v))hb(a[i].u,a[i].v);
        if(find(s)==find(t)){
            cout<<a[i].w;
            exit(0);
        }
    }
}
int main(){
    cin>>n>>m>>s>>t;
    for(int i=1;i<=n;i++)f[i]=i;
    for(int i=1;i<=m;i++)cin>>a[i].u>>a[i].v>>a[i].w;
    kruskal();
    return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...