news 2026/6/23 22:08:16

打卡信奥刷题(2529)用C++实现信奥 P2018 消息传递

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2529)用C++实现信奥 P2018 消息传递

P2018 消息传递

题目描述

巴蜀国的社会等级森严,除了国王之外,每个人均有且只有一个直接上级,当然国王没有上级。如果AAABBB的上级,BBBCCC的上级,那么AAA就是CCC的上级。绝对不会出现这样的关系:AAABBB的上级,BBB也是AAA的上级。

最开始的时刻是000,你要做的就是用111单位的时间把一个消息告诉某一个人,让他们自行散布消息。在任意一个时间单位中,任何一个已经接到消息的人,都可以把消息告诉他的一个直接上级或者直接下属。

现在,你想知道:

  1. 到底需要多长时间,消息才能传遍整个巴蜀国的所有人?
  2. 要使消息在传递过程中消耗的时间最短,可供选择的人有那些?

输入格式

输入文件的第一行为一个整数NNNN≤1000N\le 1000N1000),表示巴蜀国人的总数,假如人按照111nnn编上了号码,国王的编号是111。第222行到第NNN行(共N−1N-1N1行),每一行一个整数,第iii行的整数表示编号为iii的人直接上级的编号。

输出格式

文件输出共计两行:

  • 第一行为一个整数,表示最后一个人接到消息的最早时间。
  • 第二行有若干个数,表示可供选择人的编号,按照编号从小到大的顺序输出,中间用空格分开。

输入输出样例 #1

输入 #1

8 1 1 3 4 4 4 3

输出 #1

5 3 4 5 6 7

C++实现

#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;intcnt,n,anst=0x7fffffff,f[1005],ans[1005],h[2005];boolv[1005];structedge{intn,t;}e[2005];//前向星voidadd(intx,inty){e[++cnt].t=y;e[cnt].n=h[x];h[x]=cnt;}voiddp(intx){intd[1005]={0},y;v[x]=1;//标记x已访问for(inti=h[x];i;i=e[i].n){y=e[i].t;if(!v[y]){dp(y);//计算子结点d[++d[0]]=f[y];}}sort(d+1,d+d[0]+1);for(inti=1;i<=d[0];i++)f[x]=max(f[x],d[i]+d[0]-i+1);}intmain(){cin>>n;for(inti=2;i<=n;i++){intx;cin>>x;add(i,x);add(x,i);}for(inti=1;i<=n;i++){memset(f,0,sizeof(f));memset(v,0,sizeof(v));//每次枚举初始化dp(i);if(anst>f[i]){anst=f[i];ans[0]=0;ans[++ans[0]]=i;}elseif(anst==f[i])ans[++ans[0]]=i;//更新最快传播时间并记录根结点}cout<<anst+1<<endl;//答案要加1for(inti=1;i<=ans[0];i++)cout<<ans[i]<<" ";return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 21:28:43

SGMICRO圣邦微 SGM3204YN6G/TR SOT23-6 电荷泵

特性反转输入电源电压高达200mA输出电流输入电压范围1.4V至5.5V静态电流&#xff1a;1.5mA&#xff08;典型值&#xff09;950kHz开关频率集成有源肖特基二极管用于启动带载工作温度范围-40℃至85℃提供绿色SOT - 23 - 6封装

作者头像 李华
网站建设 2026/6/23 21:27:08

基于OA自动化办公系统的系统测试设计与实现

随着信息技术的飞速发展&#xff0c;OA自动化办公系统在各行各业得到了广泛应用&#xff0c;成为提升企业工作效率与管理水平的重要工具。然而&#xff0c;系统在开发完成后&#xff0c;其质量与稳定性仍需通过严格的测试来确保。因此&#xff0c;本文的研究内容聚焦于设计针对…

作者头像 李华
网站建设 2026/6/23 19:23:05

ETEK力芯微 ET7222 QFN10 单路双刀双掷模拟开关

功能特点 Vcc3.3V导通电阻典型值为6.0Q低位-位的抖动时间<50ps 低串扰:-45 dB 250 MHz 低电流消耗:1.0μA 接近于0的传输延迟: 250 ps通道导通时的电容: 4.0pF(Typical)工作电压范围:1.65V至4.5V >750 MHz带宽 封装:QFN10L-1.8*1.4(ET7222Y)、MSOP10(ET7222U)

作者头像 李华
网站建设 2026/6/20 21:32:06

爬虫自动化测试:Pytest + Allure 漂亮报告生成

在网络爬虫的开发与维护过程中&#xff0c;自动化测试是保障爬虫稳定性、可靠性的核心环节。而一份清晰、美观的测试报告&#xff0c;能帮助开发者快速定位问题、分析测试覆盖度。Pytest 作为 Python 生态中最流行的测试框架&#xff0c;以其简洁的语法和强大的扩展性著称&…

作者头像 李华
网站建设 2026/6/23 21:33:15

Llama-Factory是否支持命名实体识别(NER)任务?

Llama-Factory是否支持命名实体识别&#xff08;NER&#xff09;任务&#xff1f; 在大模型加速落地的今天&#xff0c;越来越多企业希望将通用语言模型应用于具体的信息抽取场景——比如从客服对话中提取客户姓名与电话、从医疗记录里识别疾病名称和用药信息。这类需求背后的核…

作者头像 李华
网站建设 2026/6/19 10:35:50

用ComfyUI做AI艺术创作:艺术家的真实使用体验分享

用ComfyUI做AI艺术创作&#xff1a;艺术家的真实使用体验分享 在AI生成图像已经泛滥的今天&#xff0c;真正让作品脱颖而出的&#xff0c;不再是“输入一段漂亮提示词”&#xff0c;而是你如何控制整个生成过程。我曾花整整三个月时间&#xff0c;在传统WebUI里反复调试参数、复…

作者头像 李华