PAT甲级真题1013. Battle Over Cities (25)(图的遍历,统计强连通分量的个数,dfs)
来源:互联网 发布:七天网络阅卷组织代码 编辑:程序博客网 时间:2024/06/05 00:48
用邻接矩阵存储图。深度优先搜索求连通图的个数。
每一次重新输入数据时要把Visited数组全部置为false。
// 1013. Battle Over Cities (25).cpp : 定义控制台应用程序的入口点。////求一个图中连通分量的个数#include <iostream>using namespace std;int V[1010][1010];bool Visited[1010];int N, M, K;void dfs(int node){ Visited[node] = true; for (int i = 1; i <= N; i++) { if (Visited[i] == false && V[node][i] == 1) dfs(i); }}int main(){ cin >> N >> M >> K; for (int i = 0; i < M; i++) { int a, b; cin >> a >> b; V[a][b] = V[b][a] = 1; } for (int i = 0; i < K; i++) { fill(Visited, Visited + 1010, false); //每次都要把Visited全部置为false,表示未访问。 int cnt = 0; //连通图的个数 int a; cin >> a; Visited[a] = true; for (int j = 1; j <= N; j++) { if(Visited[j]==false) { dfs(j); cnt++; } } cout << cnt - 1 << endl; } return 0;}
0 0
- 1013. Battle Over Cities (25)-PAT甲级真题(图的遍历,统计强连通分量的个数,dfs)
- PAT甲级真题1013. Battle Over Cities (25)(图的遍历,统计强连通分量的个数,dfs)
- [PAT甲级]1013. Battle Over Cities (25)(图的遍历,统计强连通分量个数)
- 1021. Deepest Root (25)-PAT甲级真题(图的遍历,dfs,连通分量的个数)
- PAT 1013. Battle Over Cities (25)(孤岛的个数,DFS或者BFS)
- 【PAT甲级】1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25) PAT甲级
- PAT甲级1013. Battle Over Cities (25)
- PAT甲级 1013. Battle Over Cities (25)
- PAT 甲级 1013. Battle Over Cities (25)
- 1013. Battle Over Cities (25) 连通子集 连通分量的数量
- PAT 1013. Battle Over Cities (25) DFS
- 1013. Battle Over Cities (25) 连通子集 连通分量
- PAT 甲级 1021. Deepest Root(dfs:无向图的最远路径、连通分量个数)
- 1013. Battle Over Cities (25)-图的遍历
- PAT 甲级1013. Battle Over Cities
- PAT 甲级 1013. Battle Over Cities
- PAT 甲级 1013. Battle Over Cities
- 聊下Volley源码(整体流程)
- C++之union联合/共用体声明、定义和使用详解
- filter笔记(1)
- c语言实现动态数组
- 贪心5 HDU - 1789 题解
- PAT甲级真题1013. Battle Over Cities (25)(图的遍历,统计强连通分量的个数,dfs)
- |BZOJ 1012|线段树|[JSOI2008]最大数maxnumber
- isolate_lru_page
- 一级路由器静态路由访问二级路由器的方法一
- 一个发送邮件的工具类
- git常用命令
- 简单的结构体排序
- Error:(22, 0) Could not find method android()
- JAVA的可变类与不可变类