Codeforces Round #254 (Div. 2)B. DZY Loves Chemistry
来源:互联网 发布:高中历史辅助教材淘宝 编辑:程序博客网 时间:2024/05/18 02:52
DZY loves chemistry, and he enjoys mixing chemicals.
DZY has n chemicals, and m pairs of them will react. He wants to pour these chemicals into a test tube, and he needs to pour them in one by one, in any order.
Let's consider the danger of a test tube. Danger of an empty test tube is 1. And every time when DZY pours a chemical, if there are already one or more chemicals in the test tube that can react with it, the danger of the test tube will be multiplied by 2. Otherwise the danger remains as it is.
Find the maximum possible danger after pouring all the chemicals one by one in optimal order.
The first line contains two space-separated integers n and m .
Each of the next m lines contains two space-separated integers xi and yi (1 ≤ xi < yi ≤ n). These integers mean that the chemical xi will react with the chemical yi. Each pair of chemicals will appear at most once in the input.
Consider all the chemicals numbered from 1 to n in some order.
Print a single integer — the maximum possible danger.
1 0
1
2 11 2
2
3 21 22 3
4
代码:
#include <stdio.h>int father[55];int find(int x){if (father[x] == x)return x;elsereturn (father[x] = find(father[x]));}void merge(int a, int b){int x, y;x = find(a);y = find(b);if (x != y)father[x] = y;}int main(){int n, m;while (scanf("%d%d", &n, &m) != EOF){for (int i = 1; i <= n; i++)father[i] = i;while (m--){int x, y;scanf("%d%d", &x, &y);merge(x, y);}__int64 ans = 1;for (int i = 1; i <= n; i++){int fa = father[i];if (fa == i){int s = 2;for (int j = 1; j <= n; j++)if (find(j) == fa&&i != j){ans = ans*s;}}}printf("%I64d\n", ans);}return 0;}
- [Codeforces] Round #254 (Div. 2) B. DZY Loves Chemistry
- Codeforces Round #254 (Div. 2)B. DZY Loves Chemistry
- Codeforces Round #254 (Div. 2):B. DZY Loves Chemistry
- Codeforces Round #254 (Div. 2)B. DZY Loves Chemistry
- Codeforces Round #254 (Div. 2) B DZY Loves Chemistry
- Codeforces Round #254 (Div. 2)B. DZY Loves Chemistry
- Codeforces Round #254 (Div. 2) B (445B)DZY Loves Chemistry
- Codeforces Round #254 (Div. 2) __B. DZY Loves Chemistry
- Codeforces Round #254 (Div. 2) 445B - DZY Loves Chemistry (并查集)
- codeforces-B. DZY Loves Chemistry
- Codeforces Round #FF (Div. 2) Problem B DZY Loves Strings
- Codeforces Round #FF (Div. 2):B. DZY Loves Strings
- Codeforces Round #FF (Div. 2) B. DZY Loves Strings
- Codeforces Round #FF (Div. 2) 447B DZY Loves Strings
- Codeforces Round #FF (Div. 2)B. DZY Loves Strings
- Codeforces Round #FF (Div. 2)B. DZY Loves Strings
- Codeforces 445B. DZY Loves Chemistry
- Codeforces - B - DZY Loves Chemistry【水题】
- Android——padding/margin详解(转载)
- Android开发之旅:书籍、教程、工具和各种干货!
- Codeforces Round #254 (Div. 2) B (445B)DZY Loves Chemistry
- 10个实用Eclipse调试技巧
- CSS优化代码
- Codeforces Round #254 (Div. 2)B. DZY Loves Chemistry
- linux学习 查询linux系统信息
- AE二次开发 COM 组件的调用返回了错误 HRESULT E_FAIL
- 链表的循环带删除操作
- 组合模式
- 实训 mysql ssh
- OOP编程之is-a、has-a和is-like-a之间的关系
- .Net使用程序发送邮件时的问题
- Java IO 对象流与序列化 Java编程思想读书笔记