news 2026/4/16 19:56:02

打卡信奥刷题(2754)用C++实现信奥题 P3698 [CQOI2017] 小Q的棋盘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2754)用C++实现信奥题 P3698 [CQOI2017] 小Q的棋盘

P3698 [CQOI2017] 小Q的棋盘

题目描述

小 Q 正在设计一种棋类游戏。

在小 Q 设计的游戏中,棋子可以放在棋盘上的格点中。某些格点之间有连线,棋子只能在有连线的格点之间移动。整个棋盘上共有V VV个格点,编号为0 , 1 , 2 , ⋯ , V − 1 0,1,2,\cdots, V- 10,1,2,,V1,它们是连通的,也就是说棋子从任意格点出发,总能到达所有的格点。小 Q 在设计棋盘时,还保证棋子从一个格点移动到另外任一格点的路径是唯一的。

小 Q 现在想知道,当棋子从格点0 00出发,移动N NN步最多能经过多少格点。格点可以重复经过多次,但不重复计数。

输入格式

第一行包含2 22个正整数V , N V, NV,N,其中V VV表示格点总数,N NN表示移动步数。

接下来V − 1 V-1V1行,每行两个数a i , b i a_i,b_iai,bi,表示编号为a i , b i a_i,b_iai,bi的两个格点之间有连线。

输出格式

输出一行一个整数,表示最多经过的格点数量。

输入输出样例 #1

输入 #1

5 2 1 0 2 1 3 2 4 3

输出 #1

3

输入输出样例 #2

输入 #2

9 5 0 1 0 2 2 6 4 2 8 1 1 3 3 7 3 5

输出 #2

5

说明/提示

【输入输出样例 1 说明】

从格点0 00出发移动2 22步。经过0 , 1 , 2 0, 1, 20,1,23 33个格点。

【输入输出样例 2 说明】

一种可行的移动路径为0 → 1 → 3 → 5 → 3 → 7 0 \to 1 \to 3 \to 5 \to 3 \to 7013537,经过0 , 1 , 3 , 5 , 7 0, 1, 3, 5, 70,1,3,5,75 55个格点。

【数据规模与约定】

对于100 % 100\%100%的测试点,1 ≤ N , V ≤ 100 1\le N,V \le 1001N,V1000 ≤ a i , b i < V 0 \le a_i,b_i< V0ai,bi<V

C++实现

#include<bits/stdc++.h>usingnamespacestd;constintMAXN=103;intNt[MAXN<<1],Head[MAXN<<1],to[MAXN<<1],tot;boolused[MAXN];intn,m;intmx=0;voidadd(inta,intb){Nt[++tot]=Head[a];to[tot]=b;Head[a]=tot;}voiddfs(intpos,intdep){//最长链可以用深搜跑最大深度得到used[pos]=1;mx=max(mx,dep);for(inti=Head[pos];i;i=Nt[i]){inty=to[i];if(used[y])continue;dfs(y,dep+1);}}intmain(){scanf("%d%d",&n,&m);for(inti=1;i<n;i++){inta,b;scanf("%d%d",&a,&b);add(a,b);add(b,a);}dfs(0,1);if(m<=mx-1)printf("%d\n",m+1);//如果走不完最长链,那答案就是步数+1elseprintf("%d\n",min(n,mx+(m-mx+1)/2));return0;}

后续

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

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

打卡信奥刷题(2755)用C++实现信奥题 P3718 [AHOI2017初中组] alter

P3718 [AHOI2017初中组] alter 题目描述 有 nnn 盏灯排成一列&#xff0c;其中有些灯开着&#xff0c;有些灯关着。小可可希望灯是错落有致的&#xff0c;他定义一列灯的状态的不优美度为这些灯中最长的连续的开着或关着的灯的个数。小可可最多可以按开关 kkk 次&#xff0c;每…

作者头像 李华
网站建设 2026/4/16 15:52:46

多模态大模型工作原理详解:视觉与语言信息如何在MLLMs中融合与传播?

本研究首次系统性分析多模态大语言模型内部跨模态信息流动机制&#xff0c;通过注意力屏蔽方法发现视觉信息通过三阶段传播&#xff1a;低层整合全局视觉特征&#xff0c;中层提取问题相关视觉信息&#xff0c;高层进行最终预测。这一发现揭示了LLaVA系列模型中信息流动的一致模…

作者头像 李华
网站建设 2026/4/16 11:14:08

一文搞定多级标题自动编号

在撰写长文档或技术报告时&#xff0c;多级标题的自动编号往往让人头疼。尤其是当需求超过 4 级&#xff0c;涉及到 1.1.1.1、(1)、1) 甚至 ① 的混合排版时&#xff0c;手动输入不仅效率低&#xff0c;还极易出错。 本文将带你彻底搞定 Word 和 WPS 中的多级列表排版&#xf…

作者头像 李华
网站建设 2026/4/16 14:21:36

拒绝 CRUD 搬砖:我如何用脚本 + 模板把重复工作降到 10%

一、真实痛点引入&#xff1a;我们是工程师&#xff0c;还是“高级打字员”&#xff1f; 回想一下你最近接的一个需求&#xff1a;“给后台增加一个商品分类管理功能”。 逻辑极其简单&#xff1a;增删改查&#xff08;CRUD&#xff09;。但你需要做哪些动作&#xff1f; 设…

作者头像 李华
网站建设 2026/4/16 16:24:10

2026毕设ssm+vue旅行网的设计与实现论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。 系统程序文件列表 开题报告内容 一、选题背景 关于旅游信息化管理问题的研究&#xff0c;现有研究主要以传统OTA平台&#xff08;在线旅游代理&#xff09;的整体架构…

作者头像 李华