[蓝桥杯][历届试题]网络寻路-dfs,图的遍历
题目描述
X 国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包,为了安全起见,必须恰好被转发两次到达目的地。该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同的转发路径。
源地址和目标地址可以相同,但中间节点必须不同。
如下图所示的网络。
1 -> 2 -> 3 -> 1 是允许的
1 -> 2 -> 1 -> 2 或者 1 -> 2 -> 3 -> 2 都是非法的。
输入
输入数据的第一行为两个整数N M,分别表示节点个数和连接线路的条数(1< =N< =10000; 0< =M< =100000)。
接下去有M行,每行为两个整数 u 和 v,表示节点u 和 v 联通(1< =u,v< =N , u!=v)。
输入数据保证任意两点最多只有一条边连接,并且没有自己连自己的边,即不存在重边和自环。
输出
输出一个整数,表示满足要求的路径条数。
样例输入
4 4
1 2
2 3
3 1
1 4
样例输出
10
注意:
return位置不要放错,不然dfs回不来可就糟糕了,写题时很容易犯这个错。
代码如下:
#include <iostream>
#include <vector>
using namespace std;
const int N = 1e5 + 10;vector<int>g[N];
int d[10];
int ans;
void dfs(int u, int s) {if (s == 4) {if (d[2] != d[0] && d[3] != d[1]) {ans++;//return (1)}return ;//这个return不要写到(1)的位置,不然dfs不会回头了。}for (int i = 0; i < g[u].size(); i++) {d[s] = g[u][i];dfs(g[u][i], s + 1);}
}int main() {int n, m;cin >> n >> m;for (int i = 1; i <= m; i++) {int a, b;cin >> a >> b;g[a].push_back(b);g[b].push_back(a);}for (int i = 1; i <= n; i++) {d[0] = i;dfs(i, 1);}cout << ans << endl;return 0;
}
[蓝桥杯][历届试题]网络寻路-dfs,图的遍历相关推荐
- [蓝桥杯][历届试题]网络寻路(DFS)
题目描述 X 国的一个网络使用若干条线路连接若干个节点.节点间的通信是双向的.某重要数据包,为了安全起见,必须恰好被转发两次到达目的地.该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同 ...
- 蓝桥杯c语言试题幸运数,蓝桥杯 历届试题 幸运数 dfs
时间限制:1.0s 内存限制:256.0MB 问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成 . 首先从1开始写出自然数1,2,3,4,5,6,. ...
- 历届试题+九宫重排+java_蓝桥杯 历届试题 九宫重排 (bfs+康托展开去重优化)...
Description 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的 ...
- 蓝桥杯历届试题代码参考
蓝桥杯历届试题代码参考 历届试题 核桃的数量 打印十字图 带分数 剪格子 错误票据 翻硬币 连号区间数 买不到的数目 大臣的旅费 幸运数 横向打印二叉树 危险系数 网络寻路 高僧斗法 格子刷油漆 农场 ...
- 问题 1433: [蓝桥杯][历届试题]危险系数(并查集and暴力)
问题 1433: [蓝桥杯][历届试题]危险系数 时间限制: 1Sec 内存限制: 128MB 提交: 123 解决: 39 题目描述 问题描述 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的 ...
- 蓝桥杯历届试题 地宫取宝 dp or 记忆化搜索
问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走 ...
- [蓝桥杯][历届试题]国王的烦恼(反向+并查集)
问题 1435: [蓝桥杯][历届试题]国王的烦恼 时间限制: 1Sec 内存限制: 128MB 提交: 802 解决: 213 题目描述 C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了 ...
- 蓝桥杯 - 历届试题 - 日期问题
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_33531813/article/details/79516258 </div>&l ...
- 二分搜索,POJ2456,NYOJ 914, 区间移位-蓝桥杯-历届试题
二分搜索是不断缩减可能解的范围来得到最优解, 因为每次是折半, 所以指数爆炸有多快,这个效率就有多高 POJ2456为例, 传送门 简而言之, 就是将牛之间的距离的最小值最大化. #include&l ...
最新文章
- 一点历史--Python
- Python(1) 整型与浮动型
- java 返回空数组_避免在Java中检查Null语句
- RocketMQ消息的事务架构设计
- PyTorch官方教程中文版:PYTORCH之60MIN入门教程代码学习
- mysql 复制表结构和表数据
- StanfordDB class自学笔记 (10) Unified Modeling Language
- 普林斯顿微积分读本:第 3 章 极限导论
- 百度搜索引擎算法大全
- 猜数字小游戏html,猜数字游戏.html
- PSQLException: An I/O error occurred问题排查
- 快速了解区块链六大特点
- Adobe ——pdf文档加密且不可编辑
- 找了许久,终于找到一篇关于GStreamer架构的说的比较详细和底层的文章
- 考研语法?看这篇就够了 #考研英语语法#从零开始#英语一
- 英语语法长难句——简单句
- php中网页字体颜色的代码,HTML5画布如何设置字体颜色?(代码示例)
- 互联网电影创新随心所欲的观看电影
- 解决d3dx9_40.dll文件丢失问题
- Blender建模练习:初次人物模型多边形建模(1)
热门文章
- C#创建桌面快捷方式
- C语言试题三十九之将s所指字符串中除了下标为奇数、同时ascii值也为奇数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。
- flex java框架_fleXive——JavaEE框架
- 在24小时内学完所有的数学是种什么体验?我们做了这个大胆的尝试……
- 这5部不容错过的超高评价纪录片,带你领略地球的魅力!
- 早上起床时需要的重力
- 这6个动作,据说只有20%的人能做到!| 今日最佳
- oracle bcp out,SQL Server利用bcp命令把SQL语句结果生成文本文件
- 爱思助手短信备份到安卓_爱思助手肿么将短信导入iphone
- 点歌软件测试自学,实际歌唱对比测试