寒假培训:白银莲花池-USACO 2007(洛谷 P2411)
发布时间
阅读量:
阅读量
白银莲花池
题目背景
(Silver Lilypad Pond, USACO 2007 Feb)
题目描述
为了使奶牛们能够进行休闲活动并增强体能,农夫约翰设计了一个精致的池塘。这个矩形水池被划分成M行N列的网格(1 ≤ M, N ≤ 30)。其中部分格子生长着结实的莲花,另一些则被岩石占据,其余区域则是清澈湛蓝的水域。
贝西正在学习芭蕾舞,她站在一片莲花上,希望跳到另一片莲花上。她的跳跃只能在莲花之间进行,既不能落水,也不能跳到岩石上。
贝西的舞步类似于象棋中马的走法:每次移动时,先横向移动一格再纵向移动两格,或者先纵向移动两格再横向移动一格。因此,在某些情况下,她最多可以有八个不同的跳跃方向。
约翰一直在观察贝西的练习过程,并发现有时她无法抵达目标位置,原因是路径中缺少必要的荷叶。因此他决定增设一些莲花以帮助贝西完成跳跃任务。出于节约原则,约翰希望新增的莲花数量尽可能少。
当然,新增的莲花不能放置在岩石上。
请协助约翰计算必须增设的最少莲花数量,并在此基础上确定贝西从起点跳至终点所需的最少步数。最后,在满足最少新增莲花的前提下,找出步数最少的所有可行路径数目。
输入输出格式
输入格式:
第一行包含两个由空格分隔的整数:M和N
第二行至第M + 1行中,第i +
全部评论 (0)
还没有任何评论哟~
