摘要: step1:首先将每个节点视为根节点,初始化每个节点的父节点是自己。step2:如果要使不同宗教最多,那就是每个人的都不同,那么最大的宗教数就是人数了。step3:设输入一对宗教相同的,且这两人当前不属于同一集合,则最大的宗教数减1。step4:当所有的输入结束后,结果就出来了。http://poj.org/problem?id=2524 1 #include 2 int f[50005],sum; 3 int find(int x) 4 { 5 if(f[x]!=x) 6 f[x]=find(f[x]); 7 return f[x]; 8 } 9 void m... 阅读全文
posted @ 2014-02-26 22:08 清风旋叶 阅读(132) 评论(0) 推荐(0) 编辑