[蓝桥杯]PREV-13.历届试题_网络寻路
题目描述:

代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LEN 200000 typedef struct node node_t;
typedef struct node
{
int n;
node_t *next;
}node; int vis[LEN]; //记录节点是否访问
int walk[LEN]; //记录访问的路径
node *e[LEN]; //邻接表 int n,m,res; 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; scanf("%d%d",&n,&m);//节点数,线路条数 memset(vis,,sizeof(vis));
memset(walk,,sizeof(walk));
for (i= ; i<=n ; i++)
e[i] = NULL; for (i= ; i<m ; i++)
{
scanf("%d%d",&x,&y);
add_edge(x,y);//双向图
add_edge(y,x);
}
return ;
} void DP(int cur,int step)
{
int i;
node *p = e[cur];
walk[step] = cur; //记录路径上的节点 if (step>) //转发数必须大于两次
{
res ++;
return ;
} while (p!=NULL)
{
if (vis[p->n]==)//下一节点可访问
{
vis[p->n] = ;
DP(p->n,step+);
vis[p->n] = ;
} if (step>= && p->n==walk[])
{
DP(p->n,step+);//源地址与目的地址相同
}
p = p->next;
}
return ;
} int main(void)
{
int i;
init(); //初始化
res = ;
for (i= ; i<=n ; i++)//遍历所有节点
{
vis[i] = ;
DP(i,);
vis[i] = ;
}
printf("%d",res);
return ;
}
C解法
解题思路:
建立各节点之间的联系(邻接表)
然后遍历各节点,为满足条件,节点数必须大于2
当节点大于2后,下一节点可考虑源点或未访问的点
记录路径大于2的所有遍历路径即为题意所求
[蓝桥杯]PREV-13.历届试题_网络寻路的更多相关文章
- 蓝桥杯练习系统历届试题 剪格子 dfs
问题描述 如下图所示,3 x 3 的格子中填写了一些整数. +--*--+--+|10* 1|52|+--****--+|20|30* 1|*******--+| 1| 2| 3|+--+--+--+ ...
- 蓝桥杯练习系统历届试题 带分数 dfs
问题描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714. 还可以表示为:100 = 82 + 3546 / 197. 注意特征:带分数中,数字1~9分别出现且只出现一次( ...
- [蓝桥杯]PREV-23.历届试题_数字游戏
问题描述 栋栋正在和同学们玩一个数字游戏. 游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈.栋栋首先说出数字1.接下来,坐在栋栋左手边的同学要说下一个数字2.再下面的一个同学要从上一个同学说的数 ...
- [蓝桥杯]PREV-12.历届试题_危险系数
问题描述 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的多个站点间有通道连接,形成了庞大的网络.但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系. 我们来定义一个危险系数DF( ...
- [蓝桥杯]PREV-44.历届试题_青蛙跳杯子
问题描述 X星球的流行宠物是青蛙,一般有两种颜色:白色和黑色. X星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去. 如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里边有一只青蛙 ...
- [蓝桥杯]PREV-10.历届试题_幸运数
问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的“筛法”生成 . 首先从1开始写出自然数1,,,,,,.... 就是第一个幸运数. 我们从2这个数开始.把所有序号能被2整除的项删除,变 ...
- [蓝桥杯]PREV-27.历届试题_蚂蚁感冒
问题描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂 ...
- [蓝桥杯]PREV-26.历届试题_最大子阵
问题描述 给定一个n*m的矩阵A,求A中的一个非空子矩阵,使这个子矩阵中的元素和最大. 其中,A的子矩阵指在A中行和列均连续的一块. 输入格式 输入的第一行包含两个整数n, m,分别表示矩阵A的行数和 ...
- [蓝桥杯]PREV-25.历届试题_城市建设
问题描述 栋栋居住在一个繁华的C市中,然而,这个城市的道路大都年久失修.市长准备重新修一些路以方便市民,于是找到了栋栋,希望栋栋能帮助他. C市中有n个比较重要的地点,市长希望这些地点重点被考虑.现在 ...
随机推荐
- mssqlserver超级班助类 带详细用法
using System; using System.Collections; using System.Collections.Generic; using System.Configuration ...
- JS里浮点数的运算
//浮点数加法运算 function FloatAdd(arg1,arg2){ var r1,r2,m; try{r1=arg1.toString().split(".")[1]. ...
- Linux系统安装与初用
1.结合实验尝试,并查阅资料,总结在实验准备中提出的7个问题. (1).Linux的发行版本.内核版本:二者区别与联系. 核心版本主要是Linux的内核,发行版本是各个公司推出的版本,他们与核心版本是 ...
- IOS 生成静态库文件(.a文件)
http://www.cnblogs.com/lyy-5518/p/5459643.html
- DataBase——Mysql的DataHelper
源帖 https://www.cnblogs.com/youuuu/archive/2011/06/16/2082730.html 保护原帖,尊重技术,致敬工匠! using System; usin ...
- Vue.js devtool插件安装后无法使用的解决办法【最简单有效的解决方法】
在开发vue相关的项目时,使用vue devtools工具是一件极其有趣的事,你所有的操作都马上给你实时反馈. 然而有时候安装好的工具,在chrome中不显示. 在网上找过多次,一直没有找到有效解决方 ...
- PA教材提纲 TAW10-2
Unit1 Introduction to the ABAP Dictionary(ABAP字典介绍) 1.1 Describing the ABAP Dictionary(描述ABAP字典) ABA ...
- TIME_WAIT
前言 请说说你对TCP连接中time_wait状态的理解 解答: 先上TCP的状态变迁图 1. time_wait状态如何产生? 由上面的变迁图,首先调用close()发起主动关闭的一方,在发送最后一 ...
- Git创建本地仓库、与远程仓库关联
不知道对不对,不过我这么干能用了嘿嘿 下载好git以及配置密钥什么的就不说了,网上一p眼子 在本地找个变成仓库的文件夹,打开git命令行工具cd到这个目录,然后git init创建本地仓库 然后上gi ...
- C++ operator 学习
1.概述 1.1what operator 是c++的一个关键字,和运算符如(=)一起使用,表示一个运算符重载函数 1.2why 对于C++提供的所有操作符,通常只支持对于基本数据类型和标准库中提供的 ...