并查集关押罪犯
Posted accpted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并查集关押罪犯相关的知识,希望对你有一定的参考价值。
【并查集】关押罪犯
#include <bits/stdc++.h> using namespace std; const int maxn=20010; const int maxm=100010; struct node int x,y,w; bool operator<(const node &b)const return w>b.w; a[maxm]; int f[maxn*2]; int n,m; int getfa(int x) return x == f[x] ? x : f[x] = getfa(f[x]); void merge(int x,int y) int xx = getfa(x), yy = getfa(y); if (xx != yy) f[xx] = y; int main() scanf("%d%d", &n, &m); for (int i = 1; i <= n * 2; i++) f[i] = i; for (int i = 1; i <= m; i++) scanf("%d%d%d", &a[i].x, &a[i].y, &a[i].w); sort(a + 1, a + 1 + m); for (int i = 1; i <= m; i++) if (getfa(a[i].x) == getfa(a[i].y)) printf("%d\n", a[i].w); return 0; merge(a[i].x + n, a[i].y); merge(a[i].y + n, a[i].x); printf("0\n");
以上是关于并查集关押罪犯的主要内容,如果未能解决你的问题,请参考以下文章