当前位置: 首页 > news >正文

无向图-已知根节点求高度

 

深搜板子题,无向图,加边加两个,dfs输入两个参数变量,一个是当前深搜节点,另一个是父节点(避免重复搜索父节点),恢复现场

///首先完成数组模拟邻接表#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;const int N = 10010;
int ha[N],e[2*N],nx[2*N],idx;//数组模拟邻接表
bool vis[N];//标记数组int n,m;
int ans=0;
int res=0;void add(int a,int b){e[idx]=b;nx[idx]=ha[a];ha[a]=idx;idx++;
}
void dfs(int n,int fa){//进行遍历for(int i = ha[n]; i !=-1; i=nx[i]){int j = e[i];if(j==fa)continue;if(!vis[j]){//printf("j=%d, ans=%d \n",j,ans);ans=ans+1;//加1vis[j]=1;//标记dfs(j,n);//下一层res=max(ans,res);//取最大值ans--;//恢复现场vis[j]=0;//恢复}}
}int main(){scanf("%d%d",&n,&m);int a,b;memset(ha,-1,sizeof(ha));for(int i = 1; i < n; i++){scanf("%d%d",&a,&b);add(a,b);add(b,a);}dfs(m,-1);vis[m]=1;printf("%d\n",res);return 0;
}

http://www.lryc.cn/news/110029.html

相关文章:

  • RIP动态路由协议 (已过时,逐渐退出舞台)
  • C++ operator关键字的使用(重载运算符、仿函数、类型转换操作符)
  • 深度学习笔记-暂退法(Drop out)
  • 使用自适应去噪在线顺序极限学习机预测飞机发动机剩余使用寿命(Matlab代码实现)
  • 实验5-7 使用函数求1到10的阶乘和 (10 分)
  • kafka部署
  • Spring Security6入门及自定义登录
  • 开放式蓝牙耳机哪个品牌好用?盘点几款很不错的开放式耳机
  • WebGL: 几个入门小例子
  • PAT(Advanced Level)刷题指南 —— 第一弹
  • 【BASH】回顾与知识点梳理(九)
  • Android 版本 对应的 API版本
  • Django 异常信息 E302 expected 2 blank lines, found 1
  • 2019年09月《全国青少年软件编程等级考试》Python一级真题解析
  • mybatis如何防止SQL注入
  • DoIP学习笔记系列:(三)用CAPL脚本过“安全认证”,$27服务实现
  • 【Linux】多路转接 -- select函数
  • ospf于mgre中应用(直连与星型拓扑)
  • Web压测工具http_load原理分析
  • flask------消息闪现 flash
  • 【C++】数据结构与算法:常用查找算法
  • 【Spring Cloud 六】Hystrix熔断
  • FTP使用教程
  • 网络安全(黑客技术)自学
  • 使用公式与格式控制Excel快速实现计划甘特图
  • ChatGPT即将取代程序员
  • opencv-33 图像平滑处理-中值滤波cv2.medianBlur()
  • 跟CZY一起深入理解C++(1)-一些基础知识
  • bash变量和参数介绍
  • Qt 信号与槽