PAT (Advanced) 1013. Battle Over Cities (25)
来源:互联网 发布:淘宝翡翠手把件真假 编辑:程序博客网 时间:2024/05/22 20:47
原题:1013. Battle Over Cities (25)
解题思路:
1.图的遍历问题,基本方法是BFS(广度优先遍历)或者DFS(深度优先遍历)。
2.对于本题的解法,实际上可以转化为求其连通分量的个数,而答案为连通分量个数减一,详情可以参考代码。
C++代码如下:
#include<cstdio>#include<vector>#include<algorithm>using namespace std;const int maxn = 1010;int G[maxn][maxn];int vis[maxn];int n, m, k;//深度优先遍历int DFS(int id){ vis[id] = 1; for(int i = 1; i <= n; i++) { if(G[id][i] == 1 && vis[i] == 0) DFS(i); }}int main(){ while(scanf("%d%d%d", &n, &m, &k) != EOF) { for(int i = 1; i <= n; i++) for(int j = 1; j <= n; j++) G[i][j] = 0; for(int i = 0; i < m; i++) { int a, b; scanf("%d%d", &a, &b); G[a][b] = G[b][a] = 1; //注意无向图的处理 } for(int i = 0; i < k; i++) { int x; scanf("%d", &x); fill(vis + 1, vis + n + 1, 0); //初始化访问标记位 vis[x] = 1;//去掉题目所要求的点 int cnt = 0; //连通分量计数 for(int i = 1; i <= n; i++) { if(vis[i] == 0) { cnt++; DFS(i); } } printf("%d\n", cnt - 1); } } return 0;}
阅读全文
0 0
- PAT (Advanced) 1013. Battle Over Cities (25)
- 【PAT Advanced Level】1013. Battle Over Cities (25)
- PAT (Advanced Level) Practise 1013. Battle Over Cities (25)
- PAT (Advanced Level) Practise 1013. Battle Over Cities (25)
- 【PAT】【Advanced Level】1013. Battle Over Cities (25)
- PAT (Advanced Level) Practise 1013. Battle Over Cities (25)
- 1013. Battle Over Cities @ PAT (Advanced Level) Practise
- [PAT (Advanced Level) ]1013.Battle Over Cities 解题文档
- 浙大 PAT Advanced level 1013. Battle Over Cities
- PAT (Advanced Level) Practise 1013 Battle Over Cities (25)
- PAT 1013. Battle Over Cities (25) DFS
- 1013. Battle Over Cities (25)-PAT
- pat 1013. Battle Over Cities (25)
- 【PAT】1013. Battle Over Cities (25)
- PAT: 1013. Battle Over Cities (25)
- PAT A 1013. Battle Over Cities (25)
- pat 1013. Battle Over Cities (25)
- PAT 1013. Battle Over Cities (25)
- oracle数据库基础
- Fiddler抓包手机APP数据,wireshark,charles
- Python09_进程与线程
- 应用层-4、Email应用
- MVC模式实现(下)
- PAT (Advanced) 1013. Battle Over Cities (25)
- poj3463 Sightseeing(读题很重要)
- Java-集合(list接口)
- 最小排序(美团点评)
- LeetCode #532 K-diff Pairs in an Array
- 51nod 1406 与查询
- 02-线性结构4 Pop Sequence(25 分)
- struts2命名空间namespace和访问路径的关系
- java基础(二)之深入剖析volatile关键字