蓝桥杯T35 危险系数(DFS)
title: 蓝桥杯T35 危险系数(DFS) date: 2018-11-26 17:30:39 tags: [算法,蓝桥杯,DFS] categories: [算法]
Description
抗日战争时期,冀中平原的地道战曾发挥重要作用。
地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。
我们来定义一个危险系数DF(x,y):
对于两个站点x和y (x != y), 如果能找到一个站点z,当z被敌人破坏后,x和y不连通,那么我们称z为关于x,y的关键点。相应的,对于任意一对站点x和y,危险系数DF(x,y)就表示为这两点之间的关键点个数。
本题的任务是:已知网络结构,求两站点之间的危险系数。
Input
输入数据第一行包含2个整数n(2 <= n <= 1000), m(0 <= m <= 2000),分别代表站点数,通道数;
接下来m行,每行两个整数 u,v (1 <= u, v <= n; u != v)代表一条通道;
最后1行,两个数u,v,代表询问两点之间的危险系数DF(u, v)。
Output
一个整数,如果询问的两点不连通则输出-1.
Sample Input
7 6 1 3 2 3 3 4 3 5 4 5 5 6 1 6
Sample Output
2
思路
从起点开始用DFS遍历到终点,并对路径记录,最终得到路径数和每条路径每个点是否经过的信息,判断若该点经过次数为路径数且不为起点终点,则为“关键点”。
注意
对路径上经过的点增加 是1到depth-1
代码
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<iostream>
#include<map>
using namespace std;
const int MAXN=1005;
map<int,int> mp;
int G[MAXN][MAXN];
int vis[MAXN];
int st,ed;
int way=0;
int n,m,u,v;
int go[MAXN];
void DFS(int u,int depth)
{if(u==ed){way++;for(int i=1;i<depth;i++){mp[ go[i] ]++;//cout<<"go["<<i<<"] "<<go[i]<<endl;}return;}
for(int v=1;v<=n;v++){if(!vis[v]&&G[u][v]){vis[v]=1;go[depth]=v;DFS(v,depth+1);vis[v]=0;}}
}
int main()
{cin>>n>>m;memset(G,0,sizeof(G));memset(vis,0,sizeof(vis));memset(go,0,sizeof(go));for(int i=1;i<=n;i++)mp[i]=0;while(m--){cin>>u>>v;G[u][v]=1;G[v][u]=1;}cin>>st>>ed;DFS(st,1);int ans=0;for(int i=1;i<=n;i++){if(mp[i]!=0)//cout<<"mp["<<i<<"]= "<<mp[i]<<endl;if(i!=st&&i!=ed&&mp[i]==way)ans++;}if(!ans)cout<<"-1"<<endl;elsecout<<ans<<endl;
return 0;
}
蓝桥杯T35 危险系数(DFS)相关推荐
- Java算法学习:蓝桥杯——地宫寻宝(DFS+动态规划—记忆型递归)
Java算法学习:蓝桥杯--地宫寻宝(DFS✖记忆型递归) 题目: 标题:地宫取宝X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签.地宫的入口在左上角,出 ...
- 【蓝桥杯 数独填数 DFS】
蓝桥杯 数独填数 DFS 题目描述 代码 题目描述 你一定听说过"数独"游戏.如[图1.png],玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行.每一列 ...
- [蓝桥杯][2013年第四届真题]危险系数-dfs+图的遍历
题目描述 问题描述 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的多个站点间有通道连接,形成了庞大的网络.但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系. 我们来定义一个危险 ...
- [蓝桥杯2019初赛]迷宫-DFS、BFS两种方法
迷宫问题的最短路,加最小字典序 迷宫文件maze.txt传送门 作者写的2019年B组蓝桥杯解集 . . . DFS的版本 #include<iostream> #include<c ...
- 蓝桥杯2015初赛生命之树 DFS图解
大家觉得写还可以,可以点赞.收藏.关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录 蓝桥杯2015初赛生命之树
- 蓝桥杯 - 牌型种数(dfs)
小明被劫持到X赌城,被迫与其他3人玩牌. 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张. 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先 ...
- [蓝桥杯2018初赛]全球变暖-dfs,bfs,连通块
解题思路: bfs:遍历所有未遍历过的陆地,通过bfs计算出当前位置连通陆地的数量cnt,以及被淹没陆地的数量bound,若cnt == bound表示完整淹没的一个岛屿 dfs:将连通块全部标记,如 ...
- 蓝桥杯2017初赛-迷宫-dfs
题目描述 X星球的一处迷宫游乐场建在某个小山坡上.它是由10x10相互连通的小房间组成的. 房间的地板上写着一个很大的字母.我们假设玩家是面朝上坡的方向站立,则: L表示走到左边的房间,R表示走到右边 ...
- 蓝桥杯——完美正方形(dfs)
完美正方形 如果一些边长互不相同的正方形,可以恰好拼出一个更大的正方形,则称其为完美正方形. 历史上,人们花了很久才找到了若干完美正方形.比如:如下边长的22个正方形 2 3 4 6 7 8 12 1 ...
最新文章
- 隐藏探针显示php版本号,修改版雅黑PHP探针 支持PHP7+(v0.4.7.2)
- 【c语言】打印*型金字塔
- 【杂谈】购言有三签名纪念版书籍,送1~3副有三AI学习扑克牌
- 基于概率学的SLAM 学习
- 廖雪峰Java1-3流程控制-9break、continue
- ant java 外部jar包_java – 在使用Ant的新jar文件构建中包括外部jar文件
- 小米集团2021年Q4净利润45亿元 同比增长39.6%
- 计算机考研复试难,艰难与快乐:2008年重庆邮电大学计算机考研复试经历
- python爬取知乎热门话题及其回答(requests中session保持cookies的应用)
- 【2022】将3D目标检测看作序列预测-Point2Seq: Detecting 3D Objects as Sequences
- 【转载】Attention Mechanism in Deep Learning
- No result defined for action com.lzj.web.action.CustomerAction and result input
- Nginx无证书反向代理
- linux转置的命令,转置文件(awk)
- 【机器学习】阿里云天池竞赛——工业蒸汽量预测(4)
- 怎样导出ZBrush中的模型和贴图
- springmvc接收请求参数(springmvc教程二)
- 面包板入门电子制作(class1)视频 全套30集高清
- Cannot determine value type from string ‘5ca68b45-78bc-4a68-b3a6-97b0ff73797‘
- android拍照保存照片方向,Android:Camera2开发详解(上):实现预览、拍照、保存照片等功能...
热门文章
- 手机刷卡变砖怎么办?900e转9008救砖!!
- 以太坊会带来哪些变化
- AbstractQueuedSynchronizer(AQS)源码实现
- 香甜的黄油 Sweet Butter SPFA
- 骨架图的模拟js实现
- AXURE RP EXTENSION For Chrome安装与修复
- 豆豆。。。豆豆。。。
- 【数据结构】链表OJ特别篇 —— 面试情景带你深度剖析 环形链表系列问题 复制带随机指针的链表
- 欧元汇率java测试题_目前,多数国家(包括我国人民币)采用的汇率标价法是(
)。_学小易找答案...
- nodejs+vue美容院美妆化妆品商城管理系统 mysql vscode项目