#1369. 危险的积木塔
危险的积木塔
题目描述
你在玩一个 2D 层叠积木(Jenga)游戏,该游戏由一个 行 列的网格表示。第 行是积木塔的最顶层,第 行是最底层。
位于第 行第 列的每一块积木都有一个“失稳系数” 。此外,每一层 都有一个初始的“稳定指数” 。
当你移除一块积木时,它将从游戏中完全被丢弃。从第 行移除一块积木,会对该层及以上的所有层造成破坏。具体来说,对于每一个满足 的行 ,其稳定指数都会减去 。
如果满足以下任一条件,积木塔就会倒塌:
- 任何一层的稳定指数降至 或 以下。
- 任何一层的积木数量恰好变为 块(即使是最顶层)。
请找出导致积木塔倒塌所必须移除的最少积木数量。
输入格式
第一行包含一个整数 ()—— 测试用例的数量。
对于每个测试用例:
- 第一行包含两个整数 和 ()—— 积木塔的行数和列数。
- 第二行包含 个整数 ()—— 从顶层到底层各层的初始稳定指数。
- 接下来 行,每行包含 个整数。第 行的第 个整数为 ()—— 表示第 行第 列积木的失稳系数。
输出格式
对于每个测试用例,输出一行一个整数,表示使积木塔倒塌所必须移除的最少积木数量。
样例输入 1
2
2 3
10 20
2 2 2
5 5 5
3 1
100 100 100
1
2
3
样例输出 1
2
1
说明
样例解释
- 在第一个测试用例中,我们有一个 的塔。初始稳定指数为 。顶层()积木的失稳系数为 。底层()积木的失稳系数为 。 如果我们从底层移除两块积木,将对第 层造成 的破坏,同时对第 层也造成 的破坏。第 层的剩余稳定指数变为 。由于其稳定指数降至 ,塔倒塌了。因此,我们必须移除的最少积木数为 。
- 在第二个测试用例中,。规则指出,如果任何一层剩余的积木数量恰好为 ,塔就会倒塌。由于每层初始只有 块积木,从塔中移除任何 块积木都会立刻导致某一层变空并引发倒塌。因此,最少需要移除的积木数量为 。
数据范围
- 对于所有测试点,保证 。
- 对于每个测试用例,保证 。
- 保证同一测试点内所有测试用例的 之和不超过 。
- 对于所有测试点,保证 。
- 保证所有的输入数值均为整数。