GESP认证C++编程真题解析 | P11964 [GESP202503 七级] 图上移动

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


【题目来源】

洛谷:P11964 [GESP202503 七级] 图上移动 - 洛谷 (luogu.com.cn)

【题目描述】

小 A 有一张包含n nn个结点与m mm条边的无向图,结点以1 , 2 , … , n 1,2,…,n1,2,,n标号。小 A 会从图上选择一个结点作为起点,每一步移动到某个与当前小 A 所在结点相邻的结点。对于每个结点i ( 1 ≤ i ≤ n ) i (1≤i≤n)i(1in),小 A 想知道从结点i ii出发恰好移动1 , 2 , … , k 1,2,…,k1,2,,k步之后,小 A 可能会位于哪些结点。由于满足条件的结点可能有很多,你只需要求出这些结点的数量。

【输入】

第一行,三个正整数n , m , k n,m,kn,m,k,分别表示无向图的结点数与边数,最多移动的步数。

接下来m mm行,每行两个正整数u i , v i u_i,v_iui,vi,表示图中的一条连接结点u i u_iuiv i v_ivi的无向边。

【输出】

n nn行,第i ii( 1 ≤ i ≤ n ) (1≤i≤n)(1in)包含k kk个整数,第j jj个整数( 1 ≤ j ≤ k ) (1≤j≤k)(1jk)表示从结点i ii出发恰好移动j jj步之后可能位置的结点数量。

【输入样例】

4 4 3 1 2 1 3 2 3 3 4

【输出样例】

2 4 4 2 4 4 3 3 4 1 3 3

【算法标签】

《洛谷 P11964 图上移动》 #动态规划DP# #GESP# #2025#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=505,K=25;// 定义最大节点数N和最大步数Kintn,m,k;// n: 节点数,m: 边数,k: 最大步数intvis[N][K];// 记录节点u在step步内是否能被访问到inth[N],e[N*2],ne[N*2],idx;// 邻接表存储图// 添加边到邻接表voidadd(inta,intb){e[idx]=b,ne[idx]=h[a],h[a]=idx++;}// 深度优先搜索voiddfs(intu,intstep){if(vis[u][step])return;// 如果当前状态已访问,直接返回vis[u][step]=1;// 标记当前状态为已访问if(step==k)return;// 如果达到最大步数,停止递归// 遍历所有邻居节点for(inti=h[u];i!=-1;i=ne[i]){intj=e[i];dfs(j,step+1);// 递归访问邻居节点,步数加1}}intmain(){cin>>n>>m>>k;// 输入节点数、边数和最大步数memset(h,-1,sizeofh);// 初始化邻接表// 构建图的邻接表for(inti=1;i<=m;i++){inta,b;cin>>a>>b;add(a,b),add(b,a);// 无向图,添加双向边}// 对每个节点进行DFS,统计在1到k步内能到达的节点数for(inti=1;i<=n;i++){memset(vis,0,sizeofvis);// 初始化访问数组dfs(i,0);// 从节点i开始DFS,初始步数为0// 输出从节点i出发,在1到k步内能到达的节点数for(intj=1;j<=k;j++){intres=0;for(intkk=1;kk<=n;kk++){res+=vis[kk][j];// 统计在j步内能到达的节点数}cout<<res<<" ";}cout<<endl;}return0;}

【运行结果】

4 4 3 1 2 1 3 2 3 3 4 2 4 4 2 4 4 3 3 4 1 3 3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1172829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

博士答辩PPT分享 | 高雷诺数湍流场数据同化与湍流模型机器学习研究

个人简介&#xff1a;孙旭翔&#xff0c;西北工业大学航空学院2019级流体力学专业博士生&#xff0c;研究方向为数据同化与数据驱动湍流建模。在Machine Learning-Science and Technology、Journal of Computational Science、Computers & Fluids发表SCI论文三篇。论文题目…

校友会2026年中国财经类大学排名,上海财经大学、西安欧亚学院、广东工商职业技术大学、浙江金融职业学院第一

为了给2026年全国高考考生报考中国财经类高校提供参考指南&#xff0c;2026年1月12日&#xff0c;全国第三方大学评价机构艾瑞深校友会网(Cuaa.net)撰写完成、科学出版社即将出版的《2026校友会中国大学排名&#xff1a;高考志愿填报指南》最新发布校友会2026中国财经类大学排名…

GESP认证C++编程真题解析 | P11965 [GESP202503 七级] 等价消除

​欢迎大家订阅我的专栏&#xff1a;算法题解&#xff1a;C与Python实现&#xff01; 本专栏旨在帮助大家从基础到进阶 &#xff0c;逐步提升编程能力&#xff0c;助力信息学竞赛备战&#xff01; 专栏特色 1.经典算法练习&#xff1a;根据信息学竞赛大纲&#xff0c;精心挑选…

视频技术在现代社会中的应用与发展

视频技术在现代社会中的应用与发展 引言 随着科技的飞速发展,视频技术已经成为现代生活中不可或缺的一部分。从日常娱乐到工作沟通,视频技术在各个方面都扮演着重要角色。本文将探讨视频技术的基本概念、应用领域、发展现状以及未来趋势。 一、视频技术的基本概念 1.1 视…

校友会2026年天津市大学排名,南开大学、天津仁爱学院、天津职业大学、天津轻工职业技术学院第一

为了给2026年全国高考考生报考天津市高校提供参考指南&#xff0c;2026年1月12日&#xff0c;全国第三方大学评价机构艾瑞深校友会网(Cuaa.net)撰写完成、科学出版社即将出版的《2026校友会中国大学排名&#xff1a;高考志愿填报指南》最新发布校友会2026天津市大学排名。北京大…

有哪些SRM系统是专门为供应链管理设计的? - 企业数字化观察家

众所周知,供应链管理已经成为企业降本增效、提升协同效率和增强抗风险能力的核心环节,而 SRM(供应商关系管理)系统,正是企业在供应链管理过程中,用来规范供应商协作、控制采购风险、提升整体效率的重要工具。 但…

实用指南:java基础-LinkedList(链表)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

计算机毕业设计Django+Vue.js高考推荐系统 高考分数线预测 大数据毕设(源码+LW文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 技术范围&#xff1a;Sprin…

二分搜索树深度优先遍历

二分搜索树深度优先遍历 引言 二分搜索树&#xff08;Binary Search Tree&#xff0c;BST&#xff09;是一种特殊的树形数据结构&#xff0c;其特点是每个节点都有一个键值&#xff0c;左子节点的键值小于其父节点的键值&#xff0c;右子节点的键值大于其父节点的键值。深度优先…

互联网大厂Java小白求职面试全解析:从Spring到微服务与大数据

场景&#xff1a;求职者超好吃的面试 超好吃是一名刚毕业的Java程序员&#xff0c;今天他来到一家互联网大厂进行面试&#xff0c;面试官态度严肃&#xff0c;但也愿意指导初学者。以下是他们的对话内容&#xff1a;第一轮提问&#xff1a;Spring框架与基础Java 面试官&#xf…

RS485

#ifndef __RS485_H #define __RS485_H #include "sys.h"#include "stdio.h" #define SLAVE_ADDR 0x01 #define RX_BUF_SIZE 64 #define RS485_TX_EN() GPIO_SetBits(GPIOB, GPIO_Pin_7)…

Eclipse 重启选项详解

Eclipse 重启选项详解 引言 Eclipse,作为Java开发中广泛使用的集成开发环境(IDE),其稳定性和功能性一直备受开发者青睐。在Eclipse的使用过程中,重启选项是一个常见的操作,它可能涉及到工作空间的恢复、插件的重启等多种场景。本文将详细介绍Eclipse的重启选项及其相关…

基于VUE的高校发展学生党员管理系统[VUE]-计算机毕业设计源码+LW文档

摘要&#xff1a;随着高校学生党员数量的增加&#xff0c;传统的管理方式已难以满足发展学生党员工作的需求。本文旨在设计并实现一个基于VUE框架的高校发展学生党员管理系统&#xff0c;以提高管理效率和信息化水平。通过对系统进行详细的需求分析&#xff0c;明确了系统的功能…

2026年深圳热门的GEO全场景推广解决方案推荐,哪家公司靠谱? - 工业品牌热点

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家GEO推广领域标杆企业,为ToB企业选型提供客观依据,助力精准匹配适配的智能营销服务伙伴。 TOP1 推荐:南方网通 推荐指数:★★★★★ | 口碑评分:国内GEO全…

RDF 规则:构建语义网的基础

RDF 规则&#xff1a;构建语义网的基础 引言 资源描述框架&#xff08;Resource Description Framework&#xff0c;简称 RDF&#xff09;是一种用于描述网络资源的语义数据模型。它为数据提供了一个结构化的表示方法&#xff0c;使得数据可以更加灵活、方便地被交换和重用。RD…

Perl 数据库连接

Perl 数据库连接 引言 Perl是一种广泛使用的解释型、动态编程语言&#xff0c;因其强大的文本处理能力而备受喜爱。在处理大量数据时&#xff0c;数据库连接成为Perl程序中不可或缺的一部分。本文将详细介绍Perl数据库连接的方法、步骤以及注意事项。 Perl数据库连接概述 Perl数…

Markdown 列表

Markdown 列表 Markdown 是一种轻量级标记语言&#xff0c;它允许人们使用易读易写的纯文本格式编写文档&#xff0c;然后转换成结构化的HTML格式。在 Markdown 中&#xff0c;列表是非常常用的格式之一&#xff0c;它可以帮助我们清晰地组织信息。本文将详细介绍 Markdown 列表…

JavaScript 变量提升

JavaScript 变量提升 引言 在JavaScript编程语言中,变量提升是一种常见的现象,它对于理解JavaScript的工作原理至关重要。本文将深入探讨JavaScript变量提升的概念、原因、影响以及如何避免其带来的潜在问题。 什么是变量提升? 变量提升是JavaScript引擎在执行代码之前,…

HTML5 Web Workers

HTML5 Web Workers 概述 HTML5 Web Workers 是一种在浏览器中执行代码的技术,它允许开发者在后台线程中运行脚本,而不会影响页面的响应性能。这种技术主要被用于处理复杂或耗时的计算任务,从而不会阻塞主线程,提高用户体验。 什么是 Web Workers? Web Workers 是在浏览…

AngularJS 指令

AngularJS 指令 概述 AngularJS 是一个用于构建动态网页的框架,它通过指令(Directives)扩展了 HTML,使其具有更多的动态功能。本文将深入探讨 AngularJS 指令的概念、用法以及其在实际开发中的应用。 指令概述 指令是 AngularJS 中的一种特殊标记,它以 ng- 为前缀,用…