问题描述
抗日战争时期,冀中平原的地道战曾发挥重要作用。 地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。 我们来定义一个危险系数DF(x,y): 对于两个站点x和y (x != y), 如果能找到一个站点z,当z被敌人破坏后,x和y不连通,那么我们称z为关于x,y的关键点。相应的,对于任意一对站点x和y,危险系数DF(x,y)就表示为这两点之间的关键点个数。 本题的任务是:已知网络结构,求两站点之间的危险系数。 输入格式
输入数据第一行包含2个整数n( <= n <= ), m( <= m <= ),分别代表站点数,通道数; 接下来m行,每行两个整数 u,v ( <= u, v <= n; u != v)代表一条通道; 最后1行,两个数u,v,代表询问两点之间的危险系数DF(u, v)。 输出格式
一个整数,如果询问的两点不连通则输出-.
样例输入 样例输出

题目描述

代码如下:

 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define Max_ 3000 typedef struct node node_t;
typedef struct node
{
int n; //下一个站点
node_t *next;
}node; int n,m,u,v,res;
int vis[Max_]; //标记站点是否被访问
int walk[Max_]; //记录单次行走路径的站点
int use[Max_]; //标记成功路径下的站点次数
node *e[Max_]; //邻接表,记录各站点之间的联系 void add_edge(int x,int y)//添加两站点之间的边
{
node *p;
p = (node*)malloc(sizeof(node));
p->n = y;
p->next = e[x];
e[x] = p;
return ;
} void init()//初始化
{
int i,x,y; memset(vis,,sizeof(vis));
memset(walk,,sizeof(walk));
memset(use,,sizeof(use));
for (i= ; i<=n ; i++)
e[i] = NULL; scanf("%d%d",&n,&m); //站点,通道数 for (i= ; i<m ; i++)
{
scanf("%d%d",&x,&y);
add_edge(x,y); //无向图,双向
add_edge(y,x);
}
scanf("%d%d",&u,&v); //起点,终点 return ;
} void DF(int x,int step)
{
node *p = e[x];
walk[step] = x; //记录当前路径的站点 if (x == v)
{
res ++; //成功路径的次数+1
for (x= ; x<step ; x++)
use[walk[x]]++; //标记成功路径下的站点
return ;
} while (p != NULL)
{
if (vis[p->n] == )//下一个站点未被访问
{
vis[p->n] = ;
DF(p->n,step+);
vis[p->n] = ;
}
p = p->next;//查找当前与站点连接的下一个站点
} return ;
} int main(void)
{
int i,k;
init();
k = res = ; vis[u] = ; //标记起点访问
DF(u,); for (i= ; i<=n ; i++)
if (use[i]==res)//站点标记数,与成功路径数相同,即为u与v的关键点
k ++; printf("%d",k-);
return ;
}

C解法

错误:理解为寻找最短路径,实际是寻找能被多次抵达终点的站点数(与成功抵达终点的次数相同)

解题思路:

建立站点之间联系,遍历能够抵达终点的路径,并对成功路径上的站点做次数+1

当遍历完成后,查找与成功次数相同的站点(即该站点与抵达终点有必然关系)

[蓝桥杯]PREV-12.历届试题_危险系数的更多相关文章

  1. 蓝桥杯练习系统历届试题 剪格子 dfs

    问题描述 如下图所示,3 x 3 的格子中填写了一些整数. +--*--+--+|10* 1|52|+--****--+|20|30* 1|*******--+| 1| 2| 3|+--+--+--+ ...

  2. 蓝桥杯练习系统历届试题 带分数 dfs

    问题描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714. 还可以表示为:100 = 82 + 3546 / 197. 注意特征:带分数中,数字1~9分别出现且只出现一次( ...

  3. 【蓝桥杯单片机12】实时时钟DS1302的基本操作

    [蓝桥杯单片机12]实时时钟DS1302的基本操作 广东职业技术学院 欧浩源 实时时钟DS1302几乎是蓝桥杯“单片机设计与开发”每年必考的内容,虽然在竞赛现场有提供一个底层读写寄存器的库文件,但是作 ...

  4. [蓝桥杯]PREV-22.历届试题_国王的烦恼

    问题描述 C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛.两个小岛间可能存在多座桥连接.然而,由于海水冲刷,有一些大桥面临着不能使用的危险. 如果两个小岛间 ...

  5. [蓝桥杯]PREV-44.历届试题_青蛙跳杯子

    问题描述 X星球的流行宠物是青蛙,一般有两种颜色:白色和黑色. X星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去. 如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里边有一只青蛙 ...

  6. [蓝桥杯]PREV-10.历届试题_幸运数

    问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的“筛法”生成 . 首先从1开始写出自然数1,,,,,,.... 就是第一个幸运数. 我们从2这个数开始.把所有序号能被2整除的项删除,变 ...

  7. [蓝桥杯]PREV-27.历届试题_蚂蚁感冒

    问题描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂 ...

  8. [蓝桥杯]PREV-26.历届试题_最大子阵

    问题描述 给定一个n*m的矩阵A,求A中的一个非空子矩阵,使这个子矩阵中的元素和最大. 其中,A的子矩阵指在A中行和列均连续的一块. 输入格式 输入的第一行包含两个整数n, m,分别表示矩阵A的行数和 ...

  9. [蓝桥杯]PREV-25.历届试题_城市建设

    问题描述 栋栋居住在一个繁华的C市中,然而,这个城市的道路大都年久失修.市长准备重新修一些路以方便市民,于是找到了栋栋,希望栋栋能帮助他. C市中有n个比较重要的地点,市长希望这些地点重点被考虑.现在 ...

随机推荐

  1. 《贝贝GO》技术支持

    贝贝GO是一个采用R2M模式的电子商务平台,通过零售商到制造商的两点直线连接,去除中间所有分销代理环节,结合互联网打造全新的线下新零售,旨在为用户提供高品质.高性价比商品的同事带动零售业的新发展.提升 ...

  2. LXC vs Docker

    https://www.sumologic.com/blog/code/lxc-lxd-explaining-linux-containers/ see also: https://linuxcont ...

  3. org.activiti.engine.activitiexception:version of activiti database(5.22) is more recent than the engine(5.12)

    公司项目启动出现报错,百度查询结果如下:链接地址 org.activiti.engine.ActivitiException: Version of activiti database (5.15.1 ...

  4. 我在MySQL免安装版使用过程中遇到的问题记录【二】

    跟上次问题不一样!这次是重新安装MySQL免安装版,各种文件搞对了还是错了也不清楚. 现在是:下载完安装包之后,按照现在的下方的代码,创建一个my-default.ini文件并放入下代码: [mysq ...

  5. 二进制按位与(&) 按位或(|)  异或运算(^)

    1.参加运算的两个数据,按照二进制进行按位与的运算. 运算规则:0&0=0;   0&1=0;    1&0=0;     1&1=1; 即:两位同时为“1”,结果才为 ...

  6. JDK源码看ArrayList和Vector的一些区别

    最近在看JDK源码,从源码的角度记录一下ArrayList和Vector的一些区别 1.new a.不指定长度 Vector默认创建10个元素的数组 public Vector() { this(10 ...

  7. 2018 ICPC南京网络赛 L Magical Girl Haze 题解

    大致题意: 给定一个n个点m条边的图,在可以把路径上至多k条边的权值变为0的情况下,求S到T的最短路. 数据规模: N≤100000,M≤200000,K≤10 建一个立体的图,有k层,每一层是一份原 ...

  8. Vue.js devtool插件安装后无法使用的解决办法【最简单有效的解决方法】

    在开发vue相关的项目时,使用vue devtools工具是一件极其有趣的事,你所有的操作都马上给你实时反馈. 然而有时候安装好的工具,在chrome中不显示. 在网上找过多次,一直没有找到有效解决方 ...

  9. javaWeb-Servlet工作原理

    1.客户发出请求—>Web 服务器转发到Web容器Tomcat: 2.Tomcat主线程对转发来用户的请求做出响应创建两个对象:HttpServletRequest和HttpServletRes ...

  10. 小妖精的完美游戏教室——人工智能,A*算法,导航网络篇

    //================================================================//// Copyright (C) 2017 Team Saluk ...