【問題解】P 1396救出-C++

936 ワード

原題転送ゲートという問題は基本的にクルーズカール最小生成ツリーのテンプレート問題であり、唯一異なるのは、この問題の最終目標はすべての点が接続されているのではなく、sとtが接続されている限りである.また,この問題は最小生成ツリーにおける最大エッジ重み値を求める.しかし、クルーズカールは最小の辺権値から考えられ、sとtが最初に連通したときに考えられた辺は、現在考えられている最大の権値の辺であり、直接出力すればよいのではないでしょうか.コードも簡単です.貼ってください.
#include
using namespace std;
struct noded
{
	int u,v;
	int w;
	noded(){}
	noded(int uu,int vv,int ww)
	{
		u=uu,v=vv,w=ww;
	}
}mp[200010];
bool cmp(noded x,noded y)
{
	return x.w>n>>p>>s>>t;
	for(int i=1;i<=p;i++)
	{
		cin>>mp[i].u>>mp[i].v>>mp[i].w;
	}
	sort(mp+1,mp+1+p,cmp);
	//for(int i=1;i<=k;i++)
	//{
	//	cout<