这错哪了(样例能过不然我不会出来丢人)
  • 板块P1656 炸铁路
  • 楼主AAA404
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/6/12 15:28
  • 上次更新2023/10/27 23:26:46
查看原帖
这错哪了(样例能过不然我不会出来丢人)
723198
AAA404楼主2022/6/12 15:28

样例能过然后全wa

#include<iostream>
#include<cmath>
#include<ctime>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cstdlib>
using namespace std;
int fa[151],n,m;
inline int find(int a)
{
	if(fa[a]==a)return a;
	return fa[a]=find(fa[a]);
}
inline void join(int a,int b)
{
	int f1=find(a),f2=find(b);
	if(f1==f2)return;
	fa[b]=f1;
}
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
	{
		fa[i]=i;
	}
	for(int i=1;i<=m;i++)
	{
		int a,b;
		scanf("%d%d",&a,&b);
		join(a,b);
	} 
	for(int i=1;i<n;i++)
	{
		int t=fa[i+1];
		fa[i+1]=i+1;
		if(find(i)!=i)
			fa[i+1]=find(i+2);
		if(find(i)!=find(i+1))
		{
			cout<<i<<" "<<i+1<<endl;
		}
		fa[i+1]=t;
	}
	return 0;
}

2022/6/12 15:28
加载中...