#3560. Destroyer Takahashi
0
Destroyer Takahashi
Destroyer Takahashi
题目描述
在一个由 行和 列组成的网格小镇中,有 面墙,编号为 到 。
第 面墙位于从上数第 行中从左数第 列到第 列的范围内。(参见样本输入输出 中的图。)
Takahashi 决定要摧毁所有 面墙。
凭借他的超凡力量,他的一拳可以同时破坏连续的 列。
更正式地,他可以选择一个介于 到 (含)之间的整数 ,来对位于第 列到第 列(包括部分覆盖在该范围内的)的所有尚未被摧毁的墙造成破坏。
当墙的一部分被破坏时,整面墙会因这一击而被摧毁。
(参见样本输入输出 中的图。)
Takahashi 至少需要多少次出拳才能摧毁所有墙?
输入格式
输入由标准输入给出,格式如下:
输出格式
输出摧毁所有墙所需的最少出拳次数。
3 3
1 2
4 7
5 9
2
3 3
1 2
4 7
4 9
1
5 2
1 100
1 1000000000
101 1000
9982 44353
1000000000 1000000000
3
提示
输入中的所有值均为整数。下图描述了样本输入 中墙的排列情况。
他可以用两拳摧毁所有墙,例如如下方法。(下文中 表示从第 列到第 列的区间。)
首先,出拳 。存在于 中的墙 —— 第 1 面和第 2 面 —— 被损坏并摧毁。 其次,出拳 。存在于 中的墙 —— 第 3 面 —— 被损坏并摧毁。
也可以通过下面的方式用两拳摧毁所有墙:
首先,出拳 来摧毁第 2 面和第 3 面。
其次,出拳 来摧毁第 1 面。
与样本输入/输出 的区别是第 3 面墙现在覆盖的是 ,而不是 .
在这种情况下,他可以出拳 来用一次出拳摧毁所有墙。
标签: AtCoder|abc230D
来源
AtCoder|abc230D