问题标题: 洛谷:P2644 白金莲花池

0
0
已解决
潘登
潘登
高级天翼
高级天翼

https://www.luogu.com.cn/problem/P2644

题目背景

为了让奶牛们娱乐和锻炼,农夫约翰建造了一个美丽的池塘。这个长方形的池子被分成了M行N列个方格(1≤M,N≤30)。一些格子是坚固得令人惊讶的莲花,还有一些格子是岩石,其余的只是美丽、纯净、湛蓝还可能掩藏着宝藏的水。

贝西正在练习芭蕾舞,她站在一朵莲花上,想跳到另一朵莲花上去,她只能从一朵莲花跳到另一朵莲花上,既不能跳到水里,也不能跳到岩石上。

贝西的舞步很像象棋中的马步:每次总是先横向移动一格,再纵向移动两格,或先纵向移动两格,再横向移动一格。最多时,贝西会有八个移动方向可供选择。

约翰一直在观看贝西的芭蕾练习,发现她有时候不能跳到终点,因为中间缺了一些荷叶。于是他想要添加几朵莲花来帮助贝西完成任务。

题目描述

但是!约翰在种植莲花的时候发现了一件很有趣的事,有些格子是不能直接种植莲花的,原因是……实不相瞒,无法直接种植莲花的格子的泥土中大部分都是货真价实的铂金,正是它们妨碍了莲花的正常生长!而恰好约翰刚刚学到了铂金的开采方法,也有相关的开采工具,而且他还发现开采铂金后的格子就可以正常地种植莲花,不必担心泥土缺失的问题。(由于贝西迫切地想练习,所以约翰不会开采不打算种莲花的铂金格子)

开采铂金很累,就像是种植莲花一样累,它们都会消耗掉约翰一点体力(也就是说想把铂金格子变成莲花格子需要两点体力),约翰最初有P点体力来种植莲花或开采铂金。

请帮助约翰计算至少需要消耗多少体力才能帮助贝西完成任务,这个数字记作S,以及有多少种消耗这些体力的方法能帮助贝西完成任务,这个数字记作WS;铂金当然是越多越好,请计算在消耗S点体力帮助贝西完成任务的同时最多能开采多少铂金,这个数字记作G,以及消耗S点体力开采G块铂金帮助贝西完成任务的方法数,这个数字记作WG。

若在P点体力内无法帮助到贝西,那么只输出-1。

若在S点体力内无法开采铂金,那么第二行只输出-1。


0
0
0
我要回答