pat1013Battle Over Cities (25)
来源:互联网 发布:淘宝冲印照片怎么样 编辑:程序博客网 时间:2024/06/07 03:16
题意分析:
(1)根据城市以及相互之间的道路分布地图,求出当其中一个城市被占领后(切断所有与其他城市连接的道路),让这个图中剩下的连通分量连接起来所需修的最少的道路数。
(2)求连通分量宜采用深度优先遍历
可能坑点:
(1)在计算道路被切断的时候,图中有多少个连通分量(极大联通子图)的个数时,不要忘记被占领的城市也是一个连通分量,这个连通分量要去掉。因此最后的结果是连通分量数-1-1
#include <iostream>#include <string.h>using namespace std;int visit[1001]={0};int map[1001][1001]={0};int N,M,K;void DFS(int start,int check){ if(start==check)return; visit[start]=1; for(int i=1;i<=N;i++) { if(map[start][i]&&!visit[i]&&i!=check) { DFS(i,check); } }}int main(){ cin>>N>>M>>K; int i=0; int from,to; while(i<M) { cin>>from>>to; map[from][to]=1; map[to][from]=1; i++; } int j=0; int check; int connected=0; while(j<K) { cin>>check; for(int k=1;k<=N;k++) { if(visit[k]==0) { connected++; DFS(k,check); } } cout<<connected-2<<endl; connected=0; memset(visit,0,sizeof(visit)); j++; } return 0;}
0 0
- pat1013Battle Over Cities (25)
- PAT1013Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- PAT1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- PAT1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25)
- hibernate映射关系一对一映射
- 2015弱校联盟(2) - J. Usoperanto
- Java finished with non-zero exit value 2 - Android Gradle
- 前端学习首页
- eCharts使用图表简单示例
- pat1013Battle Over Cities (25)
- 使用AudioRecord录制语音
- LeetCode题解:Construct Binary Tree from Preorder and Inorder Traversal
- selenium-webdriver(python) (十五) -- 鼠标事件
- 大话计算机-计算机系统-硬件-运算器
- 基本字符串压缩
- Hibernate CURD操作
- 安卓在xml文件(布局文件)中做一些细微改变却运行程序报错的原因
- LeetCode算法第7篇:235 Lowest Common Ancestor of a Binary Search Tree