当前位置: 首页 > news >正文

池州商城网站开发长春 网站建设

池州商城网站开发,长春 网站建设,seo服务商,网站搭建有免费的吗【PAT甲级题解记录】1013 Battle Over Cities (25 分) 前言 Problem:1013 Battle Over Cities (25 分) Tags:DFS 连通图 Difficulty:剧情模式 想流点汗 想流点血 死而无憾 Address:1013 Battle Over Cities (25 分) 问题描述 给…

【PAT甲级题解记录】1013 Battle Over Cities (25 分)

前言

Problem:1013 Battle Over Cities (25 分)

Tags:DFS 连通图

Difficulty:剧情模式 想流点汗 想流点血 死而无憾

Address:1013 Battle Over Cities (25 分)

问题描述

给出一个城市和公路的连通图(虽然题目里没有明确说明),城市编号1-N。

每一次询问都独立输入一个城市编号,求删去这个城市后需要至少加几条路使得连通图成立。

解题思路

其实就是求连通分量数量,想了想试了试没有想到很巧妙的方法,那还是用搜索稳一点:以每个城市为起点开一个dfs,如果被搜索过就直接跳过,最后开了几个dfs就是几个连通分量。

  1. 首先维护一个访问集合inMap,保存访问到的城市,
  2. 当失去一个城市后,以每个未被访问过的城市为起点进行dfs,将dfs到的城市归入集合inMap。(所以之后再遍历到该城市就不会再dfs了)
  3. 当我们开始一系列的dfs时对ans累加1(说明这是一个被隔开的城市),ans最终的值说明了有多少个连通分量,ans-1就是要修的公路数量(N个连通分量只需要N-1条路径来实现整张图的连通)

参考代码

#include<iostream>
#include<vector>
#include<set>using namespace std;
int N, M, K;
vector<vector<int>> edges; 
set<int> inMap; // 用于确认某个城市是否已被搜索
int occupied_city;void init() {cin >> N >> M >> K;edges.resize(N + 1);for (int i = 0; i < M; i++) {int city1, city2;cin >> city1 >> city2;edges[city1].push_back(city2);edges[city2].push_back(city1);}
}void dfs(int root) {inMap.insert(root);int num = edges[root].size();for (int i = 0; i < num; i++) {int next_city = edges[root][i];if (inMap.count(next_city) == 0) {dfs(edges[root][i]);}}
}void solve() {inMap.clear(); // 每次查询都需清空集合int ans = 0; // 连通分量数量cin >> occupied_city;inMap.insert(occupied_city);for (int i = 1; i <= N; i++) {if (inMap.count(i) || i == occupied_city) continue;dfs(i);ans++;}cout << ans - 1 << endl;}void solution_1013() {init();for (int i = 0; i < K; i++) {solve();}
}
int main() {solution_1013();return 0;
}

总结

关于图的连通等问题,用DFS解决很常见。

http://www.yayakq.cn/news/163206/

相关文章:

  • 国内做的好看的网站wordpress招商加盟主题
  • seo网站推广教程网站做跳转的要求
  • asp服装商城网站源码电脑宽带网站
  • 陵水网站建设装修设计公司企业网页设计
  • 有没有做那个的视频网站ionic 做网站
  • 淄博网站建设咨询臻动传媒2016年做水果行业专业网站
  • 做服装设计有什么网站可以参考电商网站开发平台有哪些
  • 石家庄手机网站建站做汽车配件招聘网站
  • 资讯类网站模板asp中山市
  • 找人合伙做网站平台html编辑器电脑
  • 如何建设一个读书的网站网络推广工具和方法
  • 布吉做棋牌网站建设哪家服务好wordpress博客头图怎么改
  • 网站运营工作zencart 团购网站
  • 伴奏在线制作网站oa管理系统是什么
  • 电子商务建设与网站规划要制作网站
  • 购物网站模板免费镇江新区
  • 做网站现在赚钱吗网文网站
  • 网站怎么登陆后台广告平台代理
  • 网站设计培训课程学生创业做网站制作设计
  • 门户网站内容建设推广网站建设语句
  • 网站建设与排名网站建设有几种方法
  • 群晖网站建设处理错误500app软件制作公司排名
  • 网站维护工程师工资装饰公司起名字寓意好的字
  • 建设网站的模板下载一家专门做打折的网站
  • 免费看今天开始做女神的网站手机端网站html好看的模板
  • 网站制作学校要的宁夏网站建设哪家好
  • 网站站点管理在哪里php网站开发实例视频教程
  • 合肥学网站设计个人建什么网站最赚钱
  • 食品电子商务网站建设方案wordpress结构化标签
  • 食品建设网站前的市场分析原平的旅游网站怎么做的