摘要: 题目大意就是找到所有可能被传染的人数,题意挺容易理解的。很容易联想到用并查集去做,将每组除第一个人之外都加到第一个人所在的集合,这样输出与0在一个集合的元素个数就是所求。AC code: 1 #include <iostream> 2 #define MAX 30001 3 using namespace std; 4 int father[MAX], num[MAX]; 5 int n, m; 6 7 void ini(int n) 8 { 9 for(int i = 0; i < n; i++)10 {11 father[i] = i;12 ... 阅读全文
posted @ 2012-02-28 21:16 背着超人飞 阅读(143) 评论(0) 推荐(0)
摘要: 题目大意是判断两台电脑是否连通 ,大致思路是利用并查集,将可以直接通信并且完好的电脑划到同一集合中,通过判断两台电脑是否在同一集合就可以知道两台电脑是否可以连通,需要注意的是,必须保证可以通信的每对计算机是完好无损的。AC code: 1 #include <iostream> 2 #define MAX 1005 3 using namespace std; 4 int map[MAX][MAX]; 5 int f[MAX]; 6 int mul(int x)//求平方的函数 7 { 8 return x * x; 9 }10 int find(int x)//并查集11 {12 阅读全文
posted @ 2012-02-28 13:00 背着超人飞 阅读(151) 评论(0) 推荐(0)