Day39: [蓝桥杯真题] 合根植物

Day39: [蓝桥杯真题] 合根植物

题源:

来自蓝桥杯题库:

http://lx.lanqiao.cn/problemsets.page

代码:

dirty code凑合看吧

#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
using namespace std;

vector<int> v;

int find(int x) {
	if (v[x] != 0) {
		return v[x] = find(v[x]);
	}
	return x;
}

void add(int x,int y) {
	int rx = find(x), ry = find(y);
	if (rx != ry) {
		v[rx] = ry;
	}
}

int main() {
	int n,m,k,x,y;
	cin >> n >> m>>k;

	v.resize(n*m+1, 0);
	for (int i = 0;i<k; i++) {
		cin >> x >> y;
		add(x,y);
	}
	int res=0;
	for (int i = 1;i<=n*m;i++) {
		if (v[i] == 0) res++;
	}
	cout << res<<endl;
	system("pause");
}
发布了49 篇原创文章 · 获赞 13 · 访问量 505

猜你喜欢

转载自blog.csdn.net/qq2215459786/article/details/103794058
今日推荐