poj_2524_Ubiquitous Religions_201407211506
| Time Limit: 5000MS | Memory Limit: 65536K | |
| Total Submissions: 23390 | Accepted: 11527 |
Description
You know that there are n students in your university (0 < n <= 50000). It is infeasible for you to ask every student their religious beliefs. Furthermore, many students are not comfortable expressing their beliefs. One way to avoid these problems is to ask m (0 <= m <= n(n-1)/2) pairs of students and ask them whether they believe in the same religion (e.g. they may know if they both attend the same church). From this data, you may not know what each person believes in, but you can get an idea of the upper bound of how many different religions can be possibly represented on campus. You may assume that each student subscribes to at most one religion.
Input
Output
Sample Input
10 9
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
10 4
2 3
4 5
4 8
5 8
0 0
Sample Output
Case 1: 1
Case 2: 7
Hint
Source
#include <stdio.h>
#include <string.h>
int pre[];
int find(int n)
{
int i,t;
t = n;
while(t!=pre[t])
t=pre[t];
while(t!=pre[n])
{
i = pre[n];
pre[n]=t;
n = i;
}
return t;
}
int main()
{
int n,m,k=;
while(scanf("%d%d",&n,&m),n||m)
{
int i,j,a,b,pa,pb,total=n;
//memset(s,0,sizeof(s));
for(i=;i<=n;i++)
pre[i]=i;
for(i=;i<m;i++)
{
scanf("%d%d",&a,&b);
pa=find(a);
pb=find(b);
if(pa!=pb)
{
pre[pa]=pb;
total--;
}
}
printf("Case %d: ",k++);
printf("%d\n",total);
}
return ;
}
并差集的简单应用
poj_2524_Ubiquitous Religions_201407211506的更多相关文章
随机推荐
- jsp中提示修改成功
修改成功提示 servert包 request.setAttribute("success", "修改失败"); 效果而 function f(){ var n ...
- [BZOJ2330][SCOI2011]糖果 差分约束系统+最短路
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2330 类似于题目中这种含有不等式关系,我们可以建立差分约束系统来跑最长路或最短路. 对于一 ...
- 安卓(Android)关于 RecyclerView 不能填充满宽度
RecyclerView 不能填充满屏幕宽度 RecyclerView 的 Adapter 在使用是,一定要 @Overridepublic RecyclerView.ViewHolder onCre ...
- Which dispatch method would be used in Swift?-Existential Container
In this example: protocol MyProtocol { func testFuncA() } extension MyProtocol { func testFuncA() { ...
- bzero - 向字符串写入零
总览 (SYNOPSIS) #include <string.h> void bzero(void *s, size_t n); 描述 (DESCRIPTION) bzero() 函数 把 ...
- ALTER TABLE - 修改表的定义
SYNOPSIS ALTER TABLE [ ONLY ] name [ * ] ADD [ COLUMN ] column type [ column_constraint [ ... ] ] AL ...
- vue课程安排
状态管理与vuex,即兄弟组件通信(选讲,了解即可)
- selenium click radio
radio = dr.find_element_by_xpath('//*[@id="contentTable"]/tbody/tr[1]/td[1]/input') webdri ...
- tinyXml输出utf-8文档
TiXmlDocument虽然能读取utf-8的xml文件,但读入后在内存中是以多字节存储.如果新建一个TiXmlDocument,即使定义头为utf-8编码,直接调用SaveFile方法保存的文档仍 ...
- PDO、PDOStatement、PDOException
最近在学PDO 比较详细的资料 出处:http://blog.csdn.net/hsst027/article/details/23682003 PDO中包含三个预定义的类,它们分别是PDO.PDO ...