hdu 1213 How Many Tables(并查集)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 1213 How Many Tables(并查集)相关的知识,希望对你有一定的参考价值。
基本的并查集。 可是 题目里说的There will be a blank line between two cases. 这句话在扯淡吗- - 我还加了换行 PE了两次 后来看网上AC的代码根本不需要啊- -
#include <iostream> using namespace std; int p[1005]; void init(int n) { for(int i=1;i<=n;i++) p[i]=i; } int find(int x) { while(x!=p[x]) x=p[x]; return x; } void join(int x,int y) { int fx=find(x); int fy=find(y); if(fx!=fy) p[fy]=fx; } int main() { int t; cin>>t; while(t--) { int n,m; cin>>n>>m; init(n); for(int i=1;i<=m;i++) { int a,b; cin>>a>>b; join(a,b); } int sum=0; for(int i=1;i<=n;i++) { if(i==p[i]) sum++; } cout<<sum<<endl; cout<<endl; } return 0; }
以上是关于hdu 1213 How Many Tables(并查集)的主要内容,如果未能解决你的问题,请参考以下文章
HDU 1213 How Many Tables(模板——并查集)
HDU - 1213 How Many Tables(并查集)
HDU - 1213 How Many Tables [并查集]