社区讨论

10分求助!

P1525[NOIP 2010 提高组] 关押罪犯参与者 3已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@lo23zp7w
此快照首次捕获于
2023/10/23 07:37
2 年前
此快照最后确认于
2023/11/03 07:57
2 年前
查看原帖
CPP
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int fa[40010];
int n,m;
struct node{
	int x,y,v;
};
node a[10010];
bool cmp(node n1, node n2){
	return n1.v > n2.v;
}
//查询
int find(int x){
	if (x == fa[x]){
		return x;
	}else{
		return fa[x] = find(fa[x]);
	}
}
//合并
void merge(int x, int y){
	int fx = find(x);
	int fy = find(y);
	if (fx != fy){
		fa[fx] = fy;
	}
}
int main(){
	cin >> n >> m;
	for (int i = 1; i <= m; i++){
		cin >> a[i].x >> a[i].y >> a[i].v;
	}
	sort(a + 1, a + m + 1, cmp);
	for (int i = 1; i <= n * 2; i++){
		fa[i] = i;
	}
	for (int i = 1; i <= m; i++){
		if (find(a[i].x == find(a[i].y))){
			cout << a[i].v;
			return 0;
		}
	}
	cout << 0;
	return 0;
}

回复

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

正在加载回复...