【NOIP2012普及组原题】寻宝

本文详细介绍了NOIP2012普及组的寻宝题目,这是一个关于通过房间指示牌寻找上楼路径的问题。题目要求计算到达顶层前各层指示牌数字之和,即为打开宝箱的密钥。解题关键在于理解房间编号、宝藏位置、指示牌数字的含义,并使用动态规划f[i,j]记录最接近房间i的上楼房间在本层的位置,以优化求解过程。" 107573015,5346735,Exceptionless 4.1 日志管理与性能优化实践,"['队列', 'c#', '日志管理', '性能优化', '异常处理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                                                        【NOIP2012普及组原题】寻宝
题目:
       传说很遥远的藏宝楼顶层藏着诱人的宝藏。小明历尽千辛万苦终于找到传说中的这个藏宝楼,藏宝楼的门口竖着一个木板,上面写有几个大字:寻宝说明书。说明书的内容如下:
       藏宝楼共有N+1 层,最上面一层是顶层,顶层有一个房间里面藏着宝藏。除了顶层外,藏宝楼另有N 层,每层M 个房间,这M 个房间围成一圈并按逆时针方向依次编号为0,…,M-1。其中一些房间有通往上一层的楼梯,每层楼的楼梯设计可能不同。每个房间里有一个指示牌,指示牌上有一个数字x,表示从这个房间开始按逆时针方向选择第x 个有楼梯的房间(假定该房间的编号为k),从该房间上楼,上楼后到达上一层的k 号房间。比如当前房间的指示牌上写着2,则按逆时针方向开始尝试,找到第2 个有楼梯的房间,从该房间上楼。如果当前房间本身就有楼梯通向上层,该房间作为第一个有楼梯的房间。
        寻宝说明书的最后用红色大号字体写着:“寻宝须知:帮助你找到每层上楼房间的指示牌上的数字(即每层第一个进入的房间内指示牌上的数字)总和为打开宝箱的密钥”。
       请帮助小明算出这个打开宝箱的密钥。


一道很裸的题目,直接暴力就可以
但是要读懂题目
有以下几点要注意:
1、房间编号为0~m-1
2、宝藏在第n+1层楼
3、当你进入一个房间时,就算有通往上一层的楼梯,也要通过指引的数字来找上楼的房间,并且当前的算第一个
4、ans每次只用加一开始的数
另外我们还要用f[i,j]存储最靠近房间i,j的可上楼的房间属于这层楼里的第几个能上的房间,这样能减少时间
至此完毕。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值