记录编号 535094 评测结果 AAAAAAAAAAAA
题目名称 亲戚 最终得分 100
用户昵称 Gravatar弟弟 是否通过 通过
代码语言 C++ 运行时间 0.150 s
提交时间 2019-07-04 09:02:49 内存使用 13.73 MiB
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define maxn 20001
  4. int father[maxn];
  5. int i,x,y,p;
  6.  
  7. int find(int x)
  8. {
  9. if(father[x] != x) return find(father[x]);
  10. else return x;
  11. }
  12. void unionn(int r1, int r2)
  13. {
  14. father[r2]=r1;
  15. }
  16. int main()
  17. { freopen("relations.in","r",stdin);
  18. freopen("relations.out","w",stdout);
  19. int n, m;
  20. cin >> n >> m;
  21. for(i=1;i<=n;i++)
  22. father[i]=i;
  23. for(i=1;i<=m;i++)
  24. {
  25. scanf("%d%d",&x,&y);
  26. int r1=find(x);
  27. int r2=find(y);
  28. if(r1!=r2)unionn(r1,r2);
  29. }
  30. cin>>p;
  31. for(i=1;i<=p;i++)
  32. {
  33. scanf("%d%d",&x,&y);
  34. if(find(x)==find(y))printf("Yes\n");
  35. else printf("No\n");
  36. }
  37. return 0;
  38. }