题目描述
以前有个孩子,他分分钟都在碎碎念。不过,他的念头之间是有因果关系的。他会在本子里记录每一个念头,并用箭头画出这个念头的来源于之前的哪一个念头。翻开这个本子,你一定会被互相穿梭的箭头给搅晕,现在他希望你用程序计算出这些念头中最长的一条因果链。
将念头从1到n编号,念头i来源于念头from[i],保证from[i]< i,from[i]=0表示该念头没有来源念头,只是脑袋一抽,灵光一现。

样例说明
最长的因果链有:
1-> 2-> 5 (from[5]=2,from[2]=1,from[1]=0)
1-> 2-> 7 (from[7]=2,from[2]=1,from[1]=0)
3-> 4-> 6 (from[6]=4,from[4]=3,from[3]=0)
3-> 4-> 8 (from[8]=4,from[4]=3,from[3]=0)

输入
第一行一个正整数n表示念头的数量

接下来n行依次给出from[1],from[2],…,from[n]

数据规模和约定
1< =n< =1000
输出
共一行,一个正整数L表示最长的念头因果链中的念头数量
样例输入

8
0
1
0
3
2
4
2
4

样例输出

3

解题思路:
水题!!!

代码如下:

#include <iostream>
using namespace std;
const int N = 1010;
int from[N];
int cnt;void dfs(int i) {cnt = 1;for (int j = from[i]; j; j = from[j]) {cnt++;}
}int main() {int n;cin >> n;for (int i = 1; i <= n; i++)cin >> from[i];int ans = -1;for (int i = 1; i <= n; i++) {dfs(i);if (cnt > ans)ans = cnt;}cout << ans << endl;return 0;
}

[蓝桥杯][算法提高VIP]分分钟的碎碎念-dfs相关推荐

  1. [蓝桥杯][算法提高VIP]分分钟的碎碎念(dfs)

    题目描述 以前有个孩子,他分分钟都在碎碎念.不过,他的念头之间是有因果关系的.他会在本子里记录每一个念头,并用箭头画出这个念头的来源于之前的哪一个念头.翻开这个本子,你一定会被互相穿梭的箭头给搅晕,现 ...

  2. [蓝桥杯][算法提高VIP]学霸的迷宫(bfs+dfs)

    题目描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要进城堡必须得先通过迷宫.因为班长还有妹子要陪,磨刀不 ...

  3. [蓝桥杯][算法提高VIP]夺宝奇兵-递推+记忆化搜索

    题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...

  4. [蓝桥杯][算法提高VIP]夺宝奇兵-dp

    题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...

  5. [蓝桥杯][算法提高VIP]阮小二买彩票

    [蓝桥杯][算法提高VIP]阮小二买彩票 题目描述 在同学们的帮助下,阮小二是变的越来越懒了, 连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多.可是一段时间观察下 ...

  6. c语言oj题1923偶数之和,问题 1923: [蓝桥杯][算法提高VIP]学霸的迷宫 (BFS)

    题目描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要进城堡必须得先通过迷宫.因为班长还有妹子要陪,磨刀不 ...

  7. [蓝桥杯][算法提高VIP]阮小二买彩票[递归全排列]

    题目 1578: [蓝桥杯][算法提高VIP]阮小二买彩票 时间限制: 1Sec 内存限制: 128MB 提交: 348 解决: 153 题目描述 在同学们的帮助下,阮小二是变的越来越懒了, 连算账都 ...

  8. [蓝桥杯][算法提高][vip] 阮小二买彩票

    蓝桥杯 ADV-66 算法提高 阮小二买彩票 问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多.可是一段时间观察 ...

  9. [蓝桥杯][算法提高VIP]合并石子(区间dp+平行四边形优化)

    题目描述 在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数.求把所有石子合并成一堆的最小花费. 输入 输入第一行包含一个整数 ...

最新文章

  1. python中str的index什么意思_python中index的用法是什么
  2. LINQPad学习与验证工具
  3. 直播|百度AI开发者大会深度学习直播课程表
  4. Java Bean Validation 最佳实践
  5. 从通信到AI FreeSWITCH与WebRTC
  6. 不兼容结构的协调——适配器模式
  7. 林俊卿咽音练声法八个步骤(纯净版视频加图文)(转)
  8. iOS开发笔记--Layer 图层圆角、边框 、底纹其他常用操作
  9. Map的keyset() 方法和entrySet() 方法
  10. 嵌入式系统开发的模式与流程
  11. VLAN的概念与配置
  12. 华为云 鲲鹏ARM云服务器 和 x86云服务器 性能评测对比
  13. 盘点2011电子商务七宗“最”和行业十大动态
  14. Android Skeleton使用和阴影动画的说明
  15. JavaScript基础(详细总结)
  16. 【二分图最大独立集】BZOJ4808[马]题解
  17. word文档出现乱码的解决方法
  18. ATmega8 单片机学习不用烧录器(自己烧自己) USB Boot Load
  19. pmp证书含金量怎么样?
  20. es - elasticsearch自定义分析器 - 内建分词过滤器 - 10

热门文章

  1. linux之sort命令
  2. React Native之触摸事件(Touchable系列和onLongPress)
  3. Android之应用程序如何调用支付宝接口
  4. java filechannel 空_Java NIO FileChanel
  5. python中return和printf的区别_Python格式化输出:%s和format()用法比较
  6. vue表格刷新数据_Vue.js+Layer表格数据绑定与实现更新的实例
  7. 双网卡上网冲突解决_【技术文章】局域网IP地址冲突罪魁祸首是什么?这几点要注意!(附高手处理方法)...
  8. ppt变成了图片不能编辑文字怎么办_谁说水印一定要去掉?用到PPT里贼好看好吗!...
  9. 从抛硬币试验看随机游走定义的基本概念错误
  10. 有朋友问我为什么这么帅