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");
}