2013\National _C_C++_A\5.网络寻路
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)。
输入数据保证任意两点最多只有一条边连接,并且没有自己连自己的边,即不存在重边和自环。
输出一个整数,表示满足要求的路径条数。
例如:
用户输入:
3 3
1 2
2 3
1 3
则程序应该输出:
6
再例如:
用户输入:
4 4
1 2
2 3
3 1
1 4
则程序应该输出:
10
深度优先搜索
深搜三步走。
Code
def dfs(x, pre, step):if step == 3:global ansans += 1returnfor i in range(len(graph[x])):if graph[x][i] != pre:dfs(graph[x][i], x, step + 1)if __name__ == '__main__':n, m = map(int, input().split())ans, graph = 0, [[] for _ in range(10007)]for _ in range(m):u, v = map(int, input().split())graph[u].append(v)graph[v].append(u)for i in range(1, n + 1):dfs(i, 0, 0)print(ans)
2013\National _C_C++_A\5.网络寻路相关推荐
- 2013\National _C_C++_A\4.约数倍数选卡片
闲暇时,福尔摩斯和华生玩一个游戏: 在N张卡片上写有N个整数.两人轮流拿走一张卡片.要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数.例如,某次福尔摩斯拿走的卡片上写着数字"6&quo ...
- 2013\National _C_C++_A\2.骰子迷题
小明参加了少年宫的一项趣味活动:每个小朋友发给一个空白的骰子(它的6个面是空白的,没有数字),要小朋友自己设计每个面写哪个数字.但有如下要求: 每个面只能填写 0 至 8 中的某一个数字. 不同面可以 ...
- 2013\National _C_C++_A\1.填算式
请看下面的算式: (ABCD - EFGH) * XY = 900 每个字母代表一个0~9的数字,不同字母代表不同数字,首位不能为0. 比如,(5012 - 4987) * 36 就是一个解. 请找到 ...
- 2013\National _C_C++_C\1.好好学习
汤姆跟爷爷来中国旅游.一天,他帮助中国的小朋友贴标语. 他负责贴的标语是分别写在四块红纸上的四个大字:"好.好.学.习". 但是汤姆不认识汉字,他就想胡乱地贴成一行. 请你替小汤姆 ...
- 2013\National _C_C++_B\4.高僧斗法
古时丧葬活动中经常请高僧做法事.仪式结束后,有时会有"高僧斗法"的趣味节目,以舒缓压抑的气氛. 节目大略步骤为:先用粮食(一般是稻米)在地上"画"出若干级台阶( ...
- 2013\National _C_C++_B\2.连续奇数和
小明看到一本书上写着:任何数字的立方都可以表示为连续奇数的和. 比如: 2^3 = 8 = 3 + 5 3^3 = 27 = 7 + 9 + 11 4^3 = 64 = 1 + 3 + - + 15 ...
- 2013\National _C_C++_B\1.猜灯谜
A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的数字. 请你用计算机按小明的思路算一下,然后提交"请猜谜&quo ...
- 2019\National _C_C++_A\试题 A: 三升序列
[问题描述] 对于一个字母矩阵,我们称矩阵中的一个三升序列是指在矩阵中找到三个字母,它们在同一行,同一列,或者在同一 45 度的斜线上,这三个字母从左向右看.或者从上向下看是递增的. 例如,如下矩阵中 ...
- 蓝桥杯2013年国赛A组——网络寻路(DFS和中转边巧解)
蓝桥杯2013年国赛A组--网络寻路 1.题目描述 2.输入输出 3.样例输入和输出 4.题目分析 1.首先明确,题目中的目的地有两种,一种是回到原点,一种是到达没有到达的地方 2.在路径中经过的点不 ...
最新文章
- 为了追求更快,CPU、内存、I/O都做了哪些努力?
- R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置图例位置、移除图例)实战
- DeepMind-深度学习: AI革命及其前沿进展 (54页ppt报告)
- SQL用了Union后的排序问题
- [EffectiveC++]item21:Don't try to return a reference when you must return an object
- 影视,高清 音乐 工具
- 那些《西游记》中你不知道的野史,信不信由你
- the title and note has maintained the same text type
- 数据结构-栈应用之逆波兰表达式(后缀表达式)
- Unity3D热更新之LuaFramework篇[06]--Lua中是怎么实现脚本生命周期的
- 解决:Error response from daemon: manifest for xxx:latest not found: manifest unknown...
- 【无标题】全国矢量地图下载
- Flash遮罩层初识
- 2019春季总结报告
- win10 手动设置 DNS 地址
- HNSWNSG-基于图的ANN近邻搜索
- 用lingo解决钢管下料问题
- 在linux服务器上部署禅道环境
- 利用java实现发送邮件
- Kafaka报错:Creating topics with default partitions/replication factor are only supported in CreateTopi
热门文章
- 《追风行动》有点儿意思
- 20180826(01)-Java数据结构
- 充分感受中国缺少管理型软件人才的说法
- [转]PHP程序61条面向对象分析设计的经验原则
- css什么是自适应布局,CSS自适应布局
- java:蓝桥杯 矩阵乘法
- macos server 恢复安装_Go语言:Docker安装及运行consul节点
- docker编译Linux内核,c – 如何编译在docker中使用内核函数的C代...
- python中dataframe合并列名日期到季度_python 处理dataframe中的时间字段方法
- gpio复用 海思_实现海思平台GPIO驱动