1. 题目

2. 抽象建模

图求连通分量个数

3. 方法

深度优先递归遍历

4. 注意点

5.代码

#include<stdio.h>
#include<string.h>int map[1001][1001];
int visited[1001];
int need_roads[1001];void dfs(int row, int citys){visited[row] = 1;for(int i=1;i<=citys;i++){if(visited[i] == 0){if(map[row][i] == 1){dfs(i, citys);}}       }
}int main(){int citys, roads, fixs;int index_i, index_j;scanf("%d %d %d", &citys, &roads, &fixs);for(int i=0;i<roads;i++){scanf("%d %d", &index_i, &index_j);map[index_i][index_j] = 1;map[index_j][index_i] = 1;}int fix;for(int i=0;i<fixs;i++){memset(visited, 0, 1001*4);scanf("%d", &fix);visited[fix] = 1;int count = 0;for(int j=1;j<=citys;j++){if(visited[j] == 0){count++;dfs(j, citys);}}need_roads[i] = count - 1;}for(int i=0;i<fixs;i++){printf("%d\n", need_roads[i]);}
}

转载于:https://www.cnblogs.com/d-i-p/p/11490397.html

1013 Battle Over Cities相关推荐

  1. 1013 Battle Over Cities(并查集解法)

    关于背景的介绍见1013 Battle Over Cities(图的DFS解法) DFS就是不算特定结点后数连通子图的总数,再减一.我想着那么并查集就是数不算特定节点后,集合元素(根)的个数.但是我弄 ...

  2. PAT甲级1013 Battle Over Cities:[C++题解]并查集、结构体存边

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:并查集题目. 不清楚并查集的小伙伴,请移步并查集原理并查集板子:acwing836. 合并集合. 题意:给定一个连通图,当删掉任意1个 ...

  3. PAT (Advanced Level) Practise 1013. Battle Over Cities (25)

    1013. Battle Over Cities (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It ...

  4. 1013. Battle Over Cities (25) 连通图

    1013. Battle Over Cities (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It ...

  5. 【解析】1013 Battle Over Cities (25 分)_31行代码AC

    立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 It is vitally important to have all the cities connected by highw ...

  6. 1013 Battle Over Cities(图的DFS解法)

    这题的背景是战争年代,假如城市1被占领,那么所有和城市1相关的公路都要被炸毁,但是这样一来,2和3就不连通了,所以需要补修一条23之间的公路.但是换做城市2或3被占领,1和另一座城市是联通的,并不需要 ...

  7. 1013 Battle Over Cities (25分)(用割点做)

    仅以此题纪念脑瘫的我.好吧看见1000的范围没有多想什么,直接跑了一遍tarjan,md其实暴力就可以...乌鱼子 题解: tarjan记录割点能把图分成几个. tarjan可以适用于1e5数量级别的 ...

  8. 1013 Battle Over Cities (25 分) 【难度: 中 / 知识点: 连通块】

    https://pintia.cn/problem-sets/994805342720868352/problems/994805500414115840 将这些连通块,连接起来最少的边,即是答案. ...

  9. PAT TOP 1001 Battle Over Cities - Hard Version (35)

    问题描述: 1001 Battle Over Cities - Hard Version (35 分) It is vitally important to have all the cities c ...

最新文章

  1. jQuery中FormData的使用
  2. RESTful编程究竟是什么?
  3. Linux--内存结构
  4. mysql常见的sql语法示例
  5. 山东师范大学计算机尹副教授,我校举办首届优秀教案展评工作
  6. 数据可视化组队学习:《Task02 - 艺术画笔见乾坤》笔记
  7. Angular使用中的编码tips(持续更)
  8. 利用yum升级Centos6的gcc版本,使其支持C++11
  9. Linux下双网卡绑定bond0
  10. 洛谷——P1744 采购特价商品
  11. arm解锁 j-flash_jlink驱动下载(SEGGER J-FlASH ARM)
  12. ps使用教程 核心蒙版
  13. OSChina 周三乱弹 —— 你们的女神宣布结婚了
  14. win10内存满载测试软件,windows10系统使用自带内存检测工具检测内存好坏的方法...
  15. java与ftp连接_建立与ftp服务器的连接——完成版(java)
  16. 【LeetCode】解题309:Best Time to Buy and Sell Stock with Cooldown(动态规划)
  17. Screaming Frog SEO Spider 快速入门指南
  18. 「解析」Self-Attention 关键点
  19. ROS学习笔记(一):利用节点进行发布与订阅
  20. 硬核追星!杨超越杯决赛是些啥编程项目?

热门文章

  1. 洛谷 P2048 [NOI2010]超级钢琴(优先队列,RMQ)
  2. 大话后端开发的奇淫技巧大集合
  3. 使用C语言中的宏来定位出错信息
  4. openstack 网络简史
  5. Scala学习笔记(7)-函数式对象
  6. how to change logo in ae template
  7. paper structure for innovation management
  8. SVN 提交子文件夹问题
  9. 根据json文件读取json信息
  10. mysql数据库,创建只读用户