0
已解决
叶轶尘
高级守护
高级守护
#include<iostream>
using namespace std;
int n,m,q,f[20005];
void init(){
for(int i=1;i<=n;i++) f[i]=i;
}
int fi(int u){
if(f[u]==u) return u;
return f[u]=fi(f[u]);
}
void un(int u,int v){
u=fi(u);
v=fi(v);
if(u==v) return ;
f[u]=v;
}
int main(){
cin>>n>>m;
init();
for(int i=1;i<=m;i++){
int u,v;
scanf("%d%d",&u,&v);
un(u,v);
}
cin>>q;
while(q--){
int u,v;
cin>>u>>v;
if(fi(u)==fi(v)) printf("%s\n","Yes");
else printf("%s\n","No");
}
return 0;
}
有没有大佬知道这题哪里错了啊
课后作业哈
叶轶尘在2023-04-19 20:57:37追加了内容
ding
叶轶尘在2023-04-19 21:06:07追加了内容
果然是运气问题,同样的代码
变成了1126ms
怎么感觉有点像刷赞
叶轶尘在2023-04-19 21:25:29追加了内容
1