HDU 1213 How Many Tables 并查集 水~
http://acm.hdu.edu.cn/showproblem.php?pid=1213
果然是需要我陪跑T T,禽兽工作人员还不让,哼,但还是陪跑了~
啊,还有呀,明天校运会终于不用去了~耶耶耶,又可以快乐的玩耍了~
水一题睡觉~
------------------------------------------------华丽的分割线-------------------------------------------------
大意:
XXX过生日,他要请客。请客的座位安排是认识的人做一桌。。如果A认识B,B认识C,那么A也认识C,求最小桌数
水题。。。。。
好久没写并查集了,wa一次。忘了两棵树应该全部合并T T
话说好久没去HDU了。什么时候开始交题要验证码了?
#include<cstdio> int a[1024]; int root(int cur) { return a[cur]==cur? cur: a[cur]=root(a[cur]); } int main() { int T; scanf("%d",&T); while(T--) { int n,m; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) a[i]=i; for(int i=1;i<=m;i++) { int data1,data2; scanf("%d%d",&data1,&data2); int root1=root(data1); int root2=root(data2); a[root2]=root1; } int ans=0; for(int i=1;i<=n;i++) { if(a[i]==i) ans++; } printf("%d\n",ans); } }
新 blog : www.hrwhisper.me