P1396 无输出求调
  • 板块学术版
  • 楼主liukezhang
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/11/26 17:12
  • 上次更新2023/11/26 19:19:07
查看原帖
P1396 无输出求调
877908
liukezhang楼主2023/11/26 17:12

P1396

code:

#include<bits/stdc++.h>
#define N 200005
using namespace std;
struct av
{
	int u,v,w;
};
int f[N];
av a[N];
int find(int x)
{
	return x==f[x]?x:f[x]=find(x);
}
bool cmp(av a,av b)
{
	return a.w<b.w;
}
int main(void)
{
	int n,m,s,t;
	scanf("%d%d%d%d",&n,&m,&s,&t);
	for(int i=1;i<=n;i++)
	{
		f[i]=i;
	}
	for(int i=1;i<=m;i++)
	{
		scanf("%d%d%d",&a[i].u,&a[i].v,&a[i].w);
	}
	sort(a+1,a+m+1,cmp);
	for(int i=1;i<=m;i++)
	{
		int x=find(a[i].u),y=find(a[i].v);
		if (x!=y)
		{
			f[x]=y; 
		}
		if (find(s)==find(t))
		{
			printf("%d",a[i].w);
			break;
		}
	}
	return 0;
}
2023/11/26 17:12
加载中...