题目1433:蓝桥杯2013年第四届真题-危险系数

#include<iostream>

#include<vector>

using namespace std;

int map[1010][1010];//创建邻接表

int vis[1010];//标记此节点是否访问过

int num[1010];//记录此节点出现过几次

int n,m;//站点数和通道数

int sum=0;//路径数量

vector<int>v;//存储顶点序列

void dfs(int cur,int target){//现在位置,目标位置

if(cur==target){

sum++;//可达路径数加1

for(int i=0;i<v.size();i++){

num[v[i]]++;//把遇到的所有节点都记录下来

}

return;

}

for(int i=1;i<=n;i++){

if(vis[i]==0&&map[cur][i]){

v.push_back(i);

vis[i]=1;

dfs(i,target);

vis[i]=0;

v.pop_back();

}

}

}

int main(){

cin>>n>>m;

int u,v,ans=0;

for(int i=0;i<m;i++){

cin>>u>>v;

map[u][v]=map[v][u]=1;

}

int start,target;

cin>>start>>target;

vis[start]=1;//将开始的点记为1,将不会被计数

dfs(start,target);

for(int i=1;i<=n;i++){

if(num[i]==sum){

ans++;

}

}

if(ans>1){

cout<<ans-1<<endl;

}else{

cout<<-1<<endl;

}

return 0;

}

相关推荐
Rabitebla36 分钟前
【C++】string 类:原理、踩坑与对象语义
linux·c语言·数据结构·c++·算法·github·学习方法
邪修king43 分钟前
UE5 零基础入门第四弹:UMG UI 系统入门,从静态界面到逻辑联动
c++·ui·ue5
小雅痞2 小时前
[Java][Leetcode middle] 167. 两数之和 II - 输入有序数组
java·算法·leetcode
CN-Dust2 小时前
【C++】输入cin例题专题
java·c++·算法
数模竞赛Paid answer3 小时前
2025年MathorCup数学建模A题汽车风阻预测解题文档与程序
算法·数学建模·mathorcup
Old Uncle Tom8 小时前
OpenClaw 记忆系统 -- 记忆预加载
java·数据结构·算法·agent
会编程的土豆9 小时前
洛谷题单入门1 顺序结构
数据结构·算法·golang
生信碱移9 小时前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言
智者知已应修善业9 小时前
【51单片机中的打飞机设计】2023-8-25
c++·经验分享·笔记·算法·51单片机
智者知已应修善业11 小时前
【51单片机按键调节占空比3位数码管显示】2023-8-24
c++·经验分享·笔记·算法·51单片机