PAT--1013 Battle Over Cities(并查集)
来源:互联网 发布:淘宝粉星便利店靠谱么 编辑:程序博客网 时间:2024/05/01 09:22
PAT 1013
题意
一个无向图,去除一点以及这点邻接的边,输出使余图连通还需的边数。
题解
并查集高效判断连通性。
#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int maxn = 1000 + 5;const int maxe = (maxn + 1) * maxn / 2;int u[maxe], v[maxe];int p[maxn];int n, m, k, id;int find(int x) { return x == p[x] ? x : p[x] = find(p[x]); }void Union(int u, int v){ int x = find(u), y = find(v); if(x != y) p[x] = y;}int main(){ ios::sync_with_stdio(false); cin >> n >> m >> k; for(int i = 0; i < m; ++i) cin >> u[i] >> v[i]; while(k--) { cin >> id; for(int i = 1; i <= n; ++i) p[i] = i; for(int i = 0; i < m; ++i) { if(u[i] != id && v[i] != id) Union(u[i], v[i]); } int cnt = 0; for(int i = 1; i <= n; ++i) if(p[i] == i && i != id) cnt++; cout << cnt - 1 << endl; } return 0;}
0 0
- PAT--1013 Battle Over Cities(并查集)
- PAT 1013 Battle Over Cities(并查集)
- PAT 1013 Battle Over Cities(并查集的应用)
- PAT 1013 Battle Over Cities
- pat 1013 Battle Over Cities
- PAT 1013 Battle Over Cities
- PAT (Advanced Level) 1013. Battle Over Cities (25) 并查集
- PAT 1013. Battle Over Cities (25)(并查集||DFS)
- [并查集压缩路径]PAT1013 Battle Over Cities
- 1013. Battle Over Cities (25) (并查集)
- 1013. Battle Over Cities (25)(并查集/dfs)
- [PAT]Battle Over Cities
- PAT 1013. Battle Over Cities
- PAT 1013. Battle Over Cities
- PAT 1013. Battle Over Cities
- PAT 1013. Battle Over Cities
- PAT 1013. Battle Over Cities
- 【PAT】1013. Battle Over Cities
- neuq oj 1052: 谭浩强C语言(第三版)习题6.8 C语言
- 解密回声消除技术之二(应用篇)
- poj3693Maximum repetition substring【后缀数组+RMQ求重复最多连续子串】
- 从头认识Spring-3.3 简单的AOP日志实现-增加检查订单功能
- TCP/IP、Http、Socket的区别
- PAT--1013 Battle Over Cities(并查集)
- 利用python求解八数码难题
- 《MVC + EF+ WCF 》——批量删除数据
- HDU1075 What Are You Talking About
- Windows基础-使用XAudio2播放音频(本质是WASAPI)
- 基于百度API的开源自动翻译.srt文件软件的实现的几个技术细节总结附源代码
- elasticsearch zen discovery
- 自定义View
- swift基本语法(总结提炼版)之001常量&变量