社区讨论
RE + WA……
P2078朋友参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo332hpz
- 此快照首次捕获于
- 2023/10/23 23:59 2 年前
- 此快照最后确认于
- 2023/10/23 23:59 2 年前
代码;
CPP#include<bits/stdc++.h>
using namespace std;
#define qwq ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
const int N = 10010;
int n, m, p, q, a[N], b[N], ans1, ans2;
int find1(int i)
{
if (a[i] == i)
return i;
return a[i] = find1(a[i]);
}
int find2(int i)
{
if (b[i] == i)
return i;
return b[i] = find2(b[i]);
}
void merge1(int u, int v)
{
u = find1(u), v = find1(v);
a[v] = u;
}
void merge2(int u, int v)
{
u = find2(u), v = find2(v);
b[v] = u;
}
int main()
{
qwq;
cin >> n >> m >> p >> q;
for (int i = 1; i <= n + m; ++ i)
{
if (i <= n)
a[i] = i;
else
b[i] = i;
}
int u, v;
for (int i = 1; i <= p + q; ++ i)
{
cin >> u >> v;
if (i <= p)
merge1(u, v);
else
merge2(u, v);
}
int p = find1(1), q = find2(1);
for (int i = 1; i <= n + m; ++ i)
{
if (i <= n)
{
if (find1(i) == p)
++ ans1;
}
else
{
if (find2(i) == q)
++ ans2;
}
}
cout << min(ans1, ans2);
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...