acdream 1685(并查集)
来源:互联网 发布:北京房产淘宝拍卖网 编辑:程序博客网 时间:2024/06/02 07:05
题意:有n个人,只要消耗一个单位的能量即可完全领悟一门新的语言。如果知道了每个人会的语言,是否能让这群天才两两直接或者间接的交流呢?所谓间接得交流是指经过若干个人的翻译使两个人得到相互表达的信息。如果不能,至少需要多少能量才能实现。
题解:并查集水题,先把所有人会的语言和自己放到一个集合内,然后判断所有人是否在同一个集合,如果不在同一个答案就加一。
#include <stdio.h>#include <string.h>const int N = 300;int pa[N], n, m, k;int get_parent(int x) {return x == pa[x] ? x : pa[x] = get_parent(pa[x]);}bool merge(int x, int y) {int px = get_parent(x);int py = get_parent(y);if (px != py) {pa[py] = pa[px];return false;}return true;}int main() {int t;scanf("%d", &t);while (t--) {for (int i = 1; i < N; i++)pa[i] = i;scanf("%d%d", &n, &m);int a, sum = 0;for (int i = 1; i <= n; i++) {scanf("%d", &k);sum += k;for (int j = 0; j < k; j++) {scanf("%d", &a);merge(a, i + 100);}}if (sum == 0) {printf("%d\n", n);continue;}int res = 0;for (int i = 1; i <= n; i++)if (!merge(101, 100 + i))res++;printf("%d\n", res);}return 0;}
0 0
- acdream 1685(并查集)
- ACdream 1056并查集+map
- ACdream之并查集的使用
- ACDREAM 01F(并查集)
- ACdream 1056 Bad Horse (种类并查集)
- acdream群赛(4)Bad Horse(种类并查集)
- ACdream 1056 Bad Horse (判断二分图)(并查集 or BFS)
- HDU3938 并查集 并查集
- 并查集(集并查)
- HDU1232 并查集<并>
- 并查集
- 数据结构-并查集
- 并查集
- 并查集!
- 并查集
- 并查集
- 并查集
- 并查集
- ios url缓存策略——NSURLCache、 NSURLRequest
- jQuery选择器(二)
- 数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示
- AutoCAD 的 AccoreConsole - 第一篇(简介)
- 人脸识别技术大总结1——Face Detection & Alignment
- acdream 1685(并查集)
- JVM调优总结(四)-垃圾回收面临的问题
- Android 编程下设置 Activity 切换动画
- 基于Spring框架的Shiro配置
- Java网络编程从入门到精通(15):为什么要使用SocketAddress来管理网络地址
- Xcode 6制作动态及静态Framework
- 解决Unsupported major.minor version 51.0错误
- JVM调优总结(五)-分代垃圾回收详述(1)
- 字符串读写函数fgets