求助,WA+TLE但样例过了
  • 板块P1536 村村通
  • 楼主bsy0120
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/8/3 17:03
  • 上次更新2023/11/3 06:07:48
查看原帖
求助,WA+TLE但样例过了
753731
bsy0120楼主2023/8/3 17:03

求指点

#include<iostream>
#include<map>
using namespace std;
map<int, int> a;
int find(int x)
{
	if (a[x] = x)return x;
	return a[x] = find(a[x]);
}
int main()
{
	int n, m;
	while (cin >> n)
	{
		int b[1000] = { 0 };
		int e = 0;
		int f = 0;
		if (n == 0)break;
		cin >> m;
		for (int i = 1; i <= n; i++)a[i] = i;
		int c, d;
		for (int i = 0; i < m; i++)
		{
			cin >> c >> d;
			a[find(c)] = find(d);
		}
		for (int i = 1; i <= n; i++)
		{
			bool pd = true;
			for (int j = 1; j <= e; j++)
			{
				if (a[i] == b[j])pd = false;
			}
			if (pd)
			{
				e++;
				f++;
				b[e] = a[i];
			}
		}
		cout << f - 1 << endl;
	}
	return 0;
}

2023/8/3 17:03
加载中...