题目描述:

代码如下:

 #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.历届试题_网络寻路的更多相关文章

  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. [蓝桥杯]PREV-23.历届试题_数字游戏

    问题描述 栋栋正在和同学们玩一个数字游戏. 游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈.栋栋首先说出数字1.接下来,坐在栋栋左手边的同学要说下一个数字2.再下面的一个同学要从上一个同学说的数 ...

  4. [蓝桥杯]PREV-12.历届试题_危险系数

    问题描述 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的多个站点间有通道连接,形成了庞大的网络.但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系. 我们来定义一个危险系数DF( ...

  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. Ubuntu中的出现:主文件夹的内容跑在桌面显示解决方案。同时 vim编辑器的操作

    在终端窗口进入中文件夹 输入命令:cd .config/ 然后找到user-dirs.dirs 输入命令:vim user-dirs.dirs 在vim中安 i 即可进行插入操作 把对应的中文件中的文 ...

  2. redis cluster的conf配置文件配置

    redis cluster的conf配置文件配置 master配置文件如下: bind 127.0.0.1 port tcp-backlog timeout tcp-keepalive logleve ...

  3. C# 检查数字

    #region 检查数字 public bool IsNumeric(string value) { bool result; try { int x = int.Parse(value); resu ...

  4. 蓝屏代码PAGE_FAULT_IN_NONPAGED_AREA的解决方法

    就在昨天晚上,小王同学的电脑继1803更新后第4次蓝屏了,原本蓝屏后自动重启后就会恢复正常,然而天真的我太低估了微软的实力.蓝屏-重启-蓝屏-重启无限循环 当然,重启几次就进入了高级模式 高级模式 进 ...

  5. Python之必备函数

    1. lambda 表达式 匿名函数(ANONYMOUS FUNCTION)是指一类无需定义标识符(函数名)的函数.通俗来讲,就是它可以让我们的函数,可以不需要函数名. 正常情况下,我们定义一个函数, ...

  6. Vue-devtools安装步骤

    今天跟着网上参考的vue调试工具安装的方法,总结出更完善的步骤: 步骤一:调往链接地址 https://github.com/vuejs/vue-devtools 步骤二:解压链接地址中的包,到本地桌 ...

  7. time模块(时间)

    time.time() #返回当前时间的时间戳 time.sleep() #CPU休息时间 print(time.clock()) #计算CPU执行时间 time.gmtime() #结构化时间 UT ...

  8. 使用VMware Workstation 14 Player或者Oracle VM VirtualBox安装Fedora-Workstation-netinst-x86_64-27-1.6操作系统的相关记录

    无论是在使用哪个(VMware或者Oracle VM)都遇到了一个问题:即使在安装完Fedoras操作系统之后,进行Reboot还是会进入之前一摸一样的安装界面,相当于再次安装.然而最最有效的解决办法 ...

  9. python 类的定义 实例化 实例完后初始化

    先来看看 类的__init__, 类的__new__ , 元类的__new__的执行顺序 class TMetaclass(type): def __new__(cls,name,bases,attr ...

  10. 自动删除Android工程中无用的资源

    开发时间久了, 几个版本迭代之后, 工程中难免留下很多垃圾资源, 造成apk的包很大, 这里介绍一个工具, 可以自动扫描工程中, 没有使用的资源, 然后自动删除: 包括图片, xml, 文本等. 采用 ...