码迷,mamicode.com
首页 > 其他好文 > 详细

Luogu P1525 关押罪犯

时间:2018-11-03 21:03:53      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:mes   turn   namespace   alt   std   for   void   pac   传送门   

传送门

 

技术分享图片
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn = 20005;
int fa[maxn],q[maxn];
int n,m;
struct abc {
    int a,b,c;
} p[200005];

int cmp(abc x,abc y) {
    return x.c > y.c;
}

int getfather(int x) {
    if(x == fa[x])return x;
    fa[x] = getfather(fa[x]);
    return fa[x];
}

void add(int x,int y){
    x = getfather(x);
    y = getfather(y);
    fa[x] = y;
}

int main() {
    scanf("%d%d",&n,&m);
    for(int i = 1;i <= n;i++)
        fa[i] = i;
    for(int i = 1; i <= m; i++)
        scanf("%d%d%d",&p[i].a,&p[i].b,&p[i].c);
    sort(p+1,p+m+1,cmp);
    for(int i = 1; i <= m; i++) {
        if(getfather(p[i].a) == getfather(p[i].b)){
            printf("%d",p[i].c);
            return 0;
        }
        if(!q[p[i].a])q[p[i].a] = p[i].b;
        else add(q[p[i].a],p[i].b);
        if(!q[p[i].b])q[p[i].b] = p[i].a;
        else add(q[p[i].b],p[i].a);
        
    }
    printf("0");
    return 0;
}
View Code

 

Luogu P1525 关押罪犯

标签:mes   turn   namespace   alt   std   for   void   pac   传送门   

原文地址:https://www.cnblogs.com/mogeko/p/9901944.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!