PAT_A_1013 Battle Over Cities
来源:互联网 发布:java实际问题汇总 编辑:程序博客网 时间:2024/05/18 06:15
//http://www.patest.cn/contests/pat-a-practise/1013
//题目的实际就是统计连通分量的个数
#include <iostream>#include <cstdio>#include <memory.h>using namespace std;int key[1001];int map[1001][1001];int map2[1001][1001];int vis[1001];int n,m,k,flag;void dfs(int s) { int cur = s; vis[cur] = 1; for (int i = 1; i <= n; i++) { if (map[cur][i] && !vis[i]) { dfs(i); } }}int main() { memset(key,0,sizeof(key)); memset(map,0,sizeof(map)); memset(map2,0,sizeof(map2)); memset(vis,0,sizeof(vis)); cin >> n >> m >> k; for (int i = 0; i < m; i++) { int a,b; cin >> a >> b; map[a][b] = 1; map[b][a] = 1; } for (int i = 1; i <= k; i++) cin >> key[i]; for (int i = 1; i <= n; i++) { //保存地图 for (int j = 1; j <= n; j++) map2[i][j] = map[i][j]; } for (int t = 1; t <= k; t++) { flag = key[t]; for (int i = 1; i <= n; i++) {//去掉已被占领城市的来路与去路 for (int j = 1; j <= n; j++) { if (i == flag || j == flag) map[i][j] = 0; } } int cnt = 0; for (int i = 1; i <= n; i++) { //此循环中每调用一次DFS 遍历图的一个连通分量 //每个顶点都作为起点 进行试探 if (!vis[i]) { dfs(i); cnt++; //统计连通分量总数 } } printf("%d\n",cnt-2);//要修的公路为除去key[i]外连通分量总数减1 则为 cnt - 1 - 1 for (int i = 1; i <= n; i++) { //恢复地图 for (int j = 1; j <= n; j++) map[i][j] = map2[i][j]; } memset(vis,0,sizeof(vis)); } return 0;}
0 0
- PAT_A_1013 Battle Over Cities
- Battle over Cities
- Battle Over Cities
- 1013. Battle Over Cities
- 1013. Battle Over Cities
- PAT_1013: Battle Over Cities
- 1013. Battle Over Cities
- PAT1013. Battle Over Cities
- [PAT]Battle Over Cities
- 1013.Battle Over Cities
- pat1013 Battle Over Cities
- 1013. Battle Over Cities
- 1013. Battle Over Cities
- 1013. Battle Over Cities
- 1013. Battle Over Cities
- Battle Over Cities
- 1013. Battle Over Cities
- 1013. Battle Over Cities
- 小马哥-----高仿红米1s刷机 主板M9 拆机主板图与开机界面 此机有版本分别 刷机警惕
- Xcode基本操作
- Yahoo! 的新一代大数据技术架构解析
- hdu 5025 bfs+状态压缩
- FFMPEG结构体分析:AVCodec
- PAT_A_1013 Battle Over Cities
- percona-toolkit工具集pt-kill使用举例
- ZooKeeper-3.3.4集群安装配置
- FFMPEG中最关键的结构体之间的关系
- Hadoop已经成为大数据分析平台的标配
- Does Unity Care is a texture of power of two
- sqlite API
- Struts2入门(一)_使用Filter实现MVC
- 观察者模式