P8604 [蓝桥杯 2013 国 C] 危险系数

题目背景

抗日战争时期,冀中平原的地道战曾发挥重要作用。

题目描述

地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。

我们来定义一个危险系数DF(x,y):

对于两个站点 x 和 y(x!=y), 如果能找到一个站点 z,当 z 被敌人破坏后,x 和 y 不连通,那么我们称 z 为关于 x,y 的关键点。相应的,对于任意一对站点 x 和 y,危险系数DF(x,y) 就表示为这两点之间的关键点个数。

本题的任务是:已知网络结构,求两站点之间的危险系数。

输入格式

输入数据第一行包含 2个整数 n(2≤n≤1000),m(0≤m≤2000),分别代表站点数,通道数。

接下来 m 行,每行两个整数 u,v(1≤u,v≤n,u!=v) 代表一条通道。

最后 1 行,两个数 u,v,代表询问两点之间的危险系数 DF(u,v)。

输出格式

一个整数,如果询问的两点不连通则输出 −1。

输入输出样例

输入

复制代码
7 6
1 3
2 3
3 4
3 5
4 5
5 6
1 6

输出

复制代码
2

说明/提示

时限 1 秒, 64M。蓝桥杯 2013 年第四届国赛

解题思路

暴搜,我们可以求出所有的路径,并标记所有路径中的点,当某个点被标记的数量等于总路径数量时,这个点就为关键点

代码实现

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N=1010;
vector<int>s[N];
int f[N][N],mid[N];
bool st[N];
int x,y,k=-1,d;

void dfs(int t){
	if(t==y){
		if(k==-1)k=0;
		k++;
		for(int i=1;i<=d;i++)if(st[i])mid[i]++;
		return;
	}
	st[t]=true;     //把走过的点都标记一下,防止重复走同一个点 
	for(int i=0;i<s[t].size();i++){
		if(st[s[t][i]])continue;      //被标记,代表已经被走过了,直接跳过 
		dfs(s[t][i]);     //递归到下一层 
	}
	st[t]=false;   //回溯 
}


int main(){
	int n,m;
	cin>>n>>m;
	while(m--){
		int a,b; 
		cin>>a>>b;
		s[a].push_back(b);    //因为地道是双向的,所以要存两边 
		s[b].push_back(a);
		d=max(d,max(a,b));	  //求出最大的点,确定最后求答案时的范围 
	}
	cin>>x>>y;
	dfs(x);
	int ans=0;
	for(int i=1;i<=d;i++)if(mid[i]==k)ans++;
	cout<<ans-1<<endl;    //最终答案要减去出发点 
	return 0;
}
相关推荐
酉鬼女又兒1 小时前
零基础入门前端JavaScript Object 对象完全指南:从基础到进阶(可用于备赛蓝桥杯Web应用开发赛道)
开发语言·前端·javascript·职场和发展·蓝桥杯
仟濹1 小时前
【算法打卡day30(2026-03-23 周一)】BFSDFS孤岛题型-复习 & 第15届蓝桥杯省赛B组C++
c++·算法·蓝桥杯
仰泳的熊猫15 小时前
题目2577:蓝桥杯2020年第十一届省赛真题-走方格
数据结构·c++·算法·蓝桥杯
2301_8008951018 小时前
2022蓝桥杯b组初赛---备战蓝桥杯版h
职场和发展·蓝桥杯
Trouvaille ~20 小时前
【优选算法篇】哈希表——空间换时间的极致艺术
c++·算法·leetcode·青少年编程·蓝桥杯·哈希算法·散列表
Epiphany.55621 小时前
题目 3146: 蓝桥杯2023年第十四届省赛真题-网络稳定性 时间限制: 1.5s 内存限制: 256MB
职场和发展·蓝桥杯
無限進步D1 天前
简单贪心算法 cpp
c++·算法·贪心算法·蓝桥杯·入门·竞赛
仰泳的熊猫1 天前
题目2580:蓝桥杯2020年第十一届省赛真题-分类计数
数据结构·c++·算法·蓝桥杯
_饭团1 天前
C 语言数据存储全解析:原反补码、大小端与 IEEE 754 浮点数
c语言·数据结构·算法·leetcode·面试·蓝桥杯·学习方法
酉鬼女又兒1 天前
零基础快速入门前端JavaScript 浏览器环境输入输出语句全解析:从弹框交互到控制台调试(可用于备赛蓝桥杯Web应用开发赛道)
前端·javascript·职场和发展·蓝桥杯·js