2 条题解
-
0
并查集模板题,学完就会了并查集_OIWiki
const int N=5e3+5; int fa[N]; int find(int i){ if(i!=fa[i]) fa[i]=find(fa[i]); return fa[i]; } void join(int i,int j){ int i_fa=find(i); int j_fa=find(j); fa[i_fa]=j_fa; } void solve(){ for(int i=1;i<N;i++){ fa[i]=i; } int n,m,p;cin>>n>>m>>p; for(int i=1;i<=m;i++){ int x,y;cin>>x>>y; join(x,y); } for(int i=1;i<=p;i++){ int x,y;cin>>x>>y; int fax = find(x); int fay = find(y); if(fax == fay) cout<<"Yes"<<endl; else cout<<"No"<<endl; } }
信息
- ID
- 1123
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 5
- 标签
- 递交数
- 40
- 已通过
- 15
- 上传者