LQ0123 小朋友崇拜圈【DFS】
创始人
2024-03-30 17:38:29
0

题目来源:蓝桥杯2018初赛 C++ C组G题

题目描述
班里N个小朋友,每个人都有自己最崇拜的一个小朋友(也可以是自己)。
在一个游戏中,需要小朋友坐一个圈,
每个小朋友都有自己最崇拜的小朋友在他的右手边。
求满足条件的圈最大多少人?
小朋友编号为1,2,3,…N

输入格式
输入第一行,一个整数N(3 接下来一行N个整数,由空格分开。表示每位小朋友崇拜的小朋友的编号。

输出格式
输出一个整数,表示满足条件的最大圈的人数。

输入样例
9
3 4 2 5 3 8 4 6 9

输出样例
4

数据范围与提示
如图所示,崇拜关系用箭头表示,红色表示不在圈中。
显然,最大圈是[2 4 5 3] 构成的圈
在这里插入图片描述
问题分析
用DFS求最大圈。

AC的C语言程序如下:

/* LQ0123 小朋友崇拜圈 */#include 
#include #define MAX(a, b) ((a) > (b) ? (a) : (b))#define N 100000
int n, g[N + 1], vis[N + 1], ans = 0;void dfs(int u, int v, int t)
{if (u == v)ans = MAX(ans, t);else if (vis[u] == 0) {vis[u] = 1;dfs(g[u], v, t + 1);}
}int main()
{scanf("%d", &n);for (int i = 1; i <= n; i++)scanf("%d", &g[i]);for (int i = 1; i <= n; i++) {memset(vis, 0, sizeof vis);vis[i] = 1;dfs(g[i], i, 1);}printf("%d\n", ans);return 0;
}

相关内容

热门资讯

重庆合川为外卖骑手送上&quo... 近日,合川区司法局联合区总工会开展"安心行动暖寒冬·法援守护劳动者"专项普法活动,为40余名外卖骑手...
律师称“爱人是经侦警官”,律协... 近日,天津一何姓刑事律师,在社交账号中称自己是“警嫂、“爱人是市局经侦办案警官”,引发公众对此举是否...
原创 可... 亚太日报驻墨尔本记者 张烁 12月28日,澳大利亚联邦警察局称,澳大利亚人正成为菲律宾儿童虐待案的帮...
赣锋锂业:收到宜春市公安局移送... 每经AI快讯,12月29日,赣锋锂业(002460.SZ)公告称,公司于2025年12月29日收到宜...
曹立军在成都大学作形势政策报告 12月29日,省委常委、市委书记曹立军前往成都大学作形势政策报告,寄语广大师生认真学习贯彻党的二十届...
原创 忍... 欣旺达,是业内著名的锂离子电池研发制造企业,其锂电产品曾为极氪、沃尔沃、日产、smart、银河、理想...
视频丨日本学者:高市错误言论无... 近日,日本体育大学宪法学教授清水雅彦表示,日本政府在台湾问题上的立场在1972年《中日联合声明》等文...
江西上高开展重大民生政策执行效... 今年6月以来,江西省宜春市上高县首次系统性开展重大民生政策执行效果评价,对《全县公办学校师生教学及生...
吉利起诉欣旺达,理想汽车躺枪? 想象一下,我从你这里采购电池,还替你宣传,结果因为你的质量问题让大家质疑我,这是一种什么感受? 1...
獐子岛:近12个月新增累计诉讼... 12月29日,獐子岛(002069)发布公告,截止到公告披露日,公司及控股子公司在最近十二个月内累计...