16分求助
查看原帖
16分求助
205320
peng_cheng楼主2021/8/24 14:48

我是蒟蒻。最近眼睛不好使,看不出有啥毛病了,大佬们帮我康康,谢谢☢

#include<bits/stdc++.h>
using namespace std;
int fa[1000005];
char nn[1000005];
int getfa(int x)
{
	if(fa[x] == x)return x;
	x = getfa(fa[x]);
	return x;
}
void fat(int u, int v)
{
	fa[getfa(u)] = getfa(v);
}
int main()
{
	int n, m;
	cin>>n>>m;
	char c;
	for(int i = 1; i <= n; i++)
	{
		fa[i] = i;
	}
	for(int i = 1;i <= n;i++)
	{
		cin >> nn[i];
	}
	int u, v;
	for(int i = 1;i < n;i++)
	{
		cin >> u >> v;
		if(nn[u] == nn[v])
			fat(u, v);
	}
	for(int i = 1; i <= m; i++)
	{
		cin>>u>>v>>c;
		if(getfa(u) == getfa(v) && nn[u] != c)
		{
			cout<<0;
			continue;
		}
		cout<<1; 
	}
	return 0;
}
2021/8/24 14:48
加载中...