题目描述:

代码如下:

 #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的所有遍历路径即为题意所求

最新文章

  1. php使用curl 检测socks5 代理的可用性
  2. Allegro padstack
  3. Ubuntu下不重装系统安装SSD总结
  4. 【译】UNIVERSAL IMAGE LOADER. PART 3---ImageLoader详解
  5. 创建第一个MVC
  6. SQL生成一柱双色球
  7. learning - Haskell AND Lisp vs. Haskell OR Lisp - Programmers Stack Exchange
  8. Java利用POI生成Excel强制换行
  9. 常见的几种Flume日志收集场景实战
  10. PreparedStatement和Statement
  11. 在Python中用Selenium执行JavaScript
  12. 踩坑记:Tensorflow环境搭建
  13. HDU.5628.Clarke and math(狄利克雷卷积 快速幂)
  14. 如何在线程中获取spring 管理的bean
  15. Flask 6 模板2
  16. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table &#39;easylabdb.userInfo&#39; doesn&#39;t exist
  17. elsarticle模板 去掉摘要前后的两条横线
  18. 『NiFi 学习之路』把握 —— 架构及主要部件
  19. Cloudstack动态修改CPU、内存
  20. 国外物联网平台(3):IBM Watson IoT

热门文章

  1. Sonar 平台搭建及 Sonar 自定义规则打包部署篇
  2. shell截取指定字符串之间的内容
  3. C#自定义事件模拟风吹草摇摆
  4. pytorch怎么抽取中间的特征或者梯度
  5. JS 获取图片标签和所有的图片中的src的正则表达式
  6. 本地新建git仓库后与远端仓库关联
  7. ZoomCharts
  8. ScrimState.java
  9. python学习笔记-基础、语句、编码、迭代器
  10. js中Array数组的属性和方法