输出被吃了
查看原帖
输出被吃了
955954
Miracle_InDream楼主2024/7/30 11:05
#include<bits/stdc++.h>
using namespace std;
int t;
int f[100005];
int find(int x)
{
	if(x==f[x])
	{
		return x;
	}
	return f[x]=find(f[x]);
}
void hb(int x,int y)
{
	x=find(x);
	y=find(y);
	f[x]=y;
}
int main()
{
	cin>>t;
	for(int i=1;i<=t;i++)
	{
		int n,m;
		cin>>n>>m;
		for(int i=1;i<=n;i++)
		{
			f[i]=i;
		}
		for(int i=1;i<=m;i++)
		{
			int x,y;
			cin>>x>>y;
			hb(x,y);
		}
		if(find(1)!=find(n))
		{
			int ans=0;
			int num=0;
			bool flag=0;
			for(int i=1;i<=n;i++)
			{
				for(int j=i+1;j<=n;j++)
				{
					if(i!=j&&find(i)!=find(j)&&(find(i)==find(n)||find(j)==find(n)))
					{
						ans+=j-i;
					}
					if(find(1)==find(n))
					{
						cout<<ans<<endl;
						flag=1;
						break;
					}
				}
				if(flag)
				{
					break;
				}
			}
		}
		else
		{
			cout<<0<<endl;
		}
	}
	return 0;
}

《输出呢?被吃了???》

2024/7/30 11:05
加载中...