2026-06-14 14:49:33
发布于:湖南
题目描述
附近的幼儿园最近设计了一款考验力量与灵活度、孩子们很喜欢的趣味游戏。游戏场地是一块平整大区域,被划分成 个小方格。
孩子们会在场地上摆放大块海绵立方体,立方体的边长和小方格边长相等。摆放时立方体四边和方格对齐,立方体也可以堆叠在其他立方体上方。
孩子们喜欢搭建堡垒、躲在里面玩耍,但每次都会弄得一团糟。因此每天幼儿园闭园前,老师要把所有立方体重新整理:所有立方体最终要集中摆成地面上的一块矩形区域,矩形里的每一个方格恰好只放 个立方体,矩形外的方格一个立方体都不能有。
移动规则:一次操作,只能将某一格最顶部的 个立方体,搬到任意另一个方格的顶端。
请编写程序:根据场地当前立方体的堆放状态,计算整理到目标矩形布局所需的最少移动次数。
输入格式
第一行输入两个整数 、(,), 是场地边长, 是场上立方体总数量。接下来 M 行,每行两个整数 、(),代表这个立方体被放置在坐标 的方格上。
输出格式
输出最少需要的移动步数。题目保证一定存在可行方案。
提示说明
第一个样例中:只需要把 位置其中一个立方体,移到 或者 即可。第三个样例中:把 的一个立方体移到 、 一个移到 、 一个移到 。

这里空空如也



















有帮助,赞一个