为什么m要开的比5000多,要不然最后俩个就错
  • 板块P1551 亲戚
  • 楼主lxk20020629
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/3/15 09:00
  • 上次更新2024/3/15 15:23:56
查看原帖
为什么m要开的比5000多,要不然最后俩个就错
1018012
lxk20020629楼主2024/3/15 09:00
#include <iostream>
using namespace std;
int n, m, s;
const int M = 5010;
int p[M];
int find(int x)
{
    if(p[x] != x) p[x] = find(p[x]);
    return p[x];
}
int main()
{
    cin >> n >> m >> s;
    for(int i = 1; i <= n; i++) p[i] = i;
    while(m--)
    {   
        int a, b;
        cin >> a >> b;
        p[find(a)] = find(b);
    }
    while(s--)
    {
       int a, b;
        cin >> a >> b;
        if(find(a) == find(b)) puts("Yes");
        else puts("No");
    }
    return 0;
}
2024/3/15 09:00
加载中...