|
- #include <algorithm>
- #include <iostream>
- #include <cmath>
- #include <cstring>
- #include <map>
- #include <string>
- #include <vector>
- #include <queue>
- #include <stack>
- #include <cstdio>
- #include <cstdlib>
- using namespace std;
- int x,y,n,m,t,fa[6000];
- int getf(int u)
- {
- if(u==fa[u])
- return u;
- int f=getf(fa[u]);
- fa[u]=f;
- return f;
- }
- int main()
- {
- scanf("%d%d%d",&n,&m,&t);
- for(int i=1;i<=n;i++)
- fa[i]=i;
- while(m--)
- {
- scanf("%d%d",&x,&y);
- int t1=getf(x),t2=getf(y);
- if(t1!=t2)
- fa[t1]=t2;
- }
- while(t--)
- {
- scanf("%d%d",&x,&y);
- if(getf(x)==getf(y))
- printf("Yes\n");
- else
- printf("No\n");
- }
- return 0;
- }
复制代码 |
|