无法全部输入数据?
查看原帖
无法全部输入数据?
374523
JustinJQian楼主2021/9/16 21:14
#include <iostream>
#include <cstdio>
using namespace std;
int fa[1000],enm[1000],cnt[1000],maxn;
int fnd(int x){
	if (fa[x] = x) return x;
	return fa[x] = fnd(x);
}
void cmb(int x,int y){
	fa[x] = y;
}
int main(){
	int n,m;
	cin >> n >> m;
	for(int i = 1;i <= n;i++){
		fa[i] = i;
	}
	for (int i = 0;i < m;i++){
		int x,y;char c;
		cin >> c;
		cin >> x >> y;
		if (c == 'F') cmb(x,y);
		else{
			if (enm[x] == 0) enm[x] = fnd(y);
			else cmb(enm[x],y);
			if (enm[y] == 0) enm[y] = fnd(x);
			else cmb(enm[y],x);
		}
	}
	for(int i = 1;i <= n;i++){
		if (fnd(i) != i) cnt[fnd(i)]++;
		else cnt[i]++;
	}
	for(int i = 1;i <= n;i++){
		if (cnt[i] > maxn) maxn = cnt[i];
	}
	cout << maxn;
	return 0;
} 
2021/9/16 21:14
加载中...