Codevs2597 团伙 并查集
来源:互联网 发布:知乎账号怎么注销 编辑:程序博客网 时间:2024/05/29 11:13
Codevs2597 团伙
还是做题太少啊,然而NOIP了。
代码简单易懂:
#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>using namespace std;#define MAXN (1010)int ans;int fa[MAXN], en[MAXN];int find(int x){ int t, r = x; while(r != fa[r]) r = fa[r]; while(x != r) {t=fa[x];fa[x]=r;x=t;} return r;}void lianjie(int x, int y){ int fx = find(x); int fy = find(y); if(fx != fy) { fa[fx] = fy; -- ans; //每连接一个就少一个团伙 }}char t[5];int main(){ int n, m; cin >> n >> m; for(int i = 1; i <= n; ++ i) fa[i] = i; ans = n; // 刚开始共有n个团伙 for(int i = 1; i <= m; ++ i) { scanf("%s", t); int p, q; scanf("%d%d", &p, &q); if(t[0] == 'F') lianjie(p,q); else { if(en[p]) lianjie(en[p], q); // 如果 p 有敌人,那么q和他就是朋友 en[p] = q; if(en[q]) lianjie(en[q], p); en[q] = p; } } cout << ans << endl; return 0;}
0 0
- Codevs2597 团伙 并查集
- 团伙-并查集
- codevs2597团伙
- [codevs2597]团伙
- 2597团伙{并查集}
- 犯罪团伙(并查集)
- bzoj1370 团伙 【并查集】
- codevs2597-团伙-解题报告
- RQNOJ 577 团伙[并查集]
- 并查集—解密犯罪团伙
- 1370: [Baltic2003]Gang团伙 并查集
- CodeVS 2597团伙(并查集)
- CodeVS-2597 团伙(并查集)
- 【bzoj1370】[Baltic2003]Gang团伙 并查集
- codevs 团伙(并查集)
- Codevs 2597 团伙(并查集)
- |Tyvj|并查集|P1602 团伙
- codevs 2597 团伙(并查集)
- C++primer5th课后题13章13.13、13.22、13.26、13.27
- 查看linux版本信息
- 程序设计
- swift 学习笔记(12)-区间运算符
- Ubuntu下启动Apache的Rewrite功能
- Codevs2597 团伙 并查集
- 跨页面锚点跳转效果
- 内容运营该如何发挥自己的价值?
- 手机网页字体大小单位用em
- 验证登陆信息的合法性
- ORACLE 存储过程INTO 多个变量
- iOS 热修复- JSPatch的(Hello World)
- MySQL字符串函数substring:字符串截取
- Android轻松搭建MVP + Retrofit + RxJava(MR篇)