SP4197 DOMINOES - Dominoes

题目描述

Johnny 一个下午正在玩多米诺骨牌。这些多米诺骨牌有不同的高度和颜色。 像其他孩子一样,他喜欢把这些骨牌排成一行,然后推倒它们。他想知道:最少需要几次推动才能使所有的多米诺骨牌都倒下?Johnny 不愿意多动,所以他希望推动的次数越少越好。一旦某个多米诺骨牌倒下,它会顺势推倒在倒下过程中碰到的所有其他多米诺骨牌。 为了简化问题,我们将地面抽象为一条一维直线,最左端的点为 1。多米诺骨牌倒下后不会在地板上滑动。此外,骨牌有一定的长度:比如,一个长度为 1 的多米诺骨牌位于位置 1,可以推倒位置 2 的另一块骨牌。 对于那些擅长数学的读者: - 如果一个位于位置 $x$、高度为 $h$ 的多米诺骨牌向右倒下,它会依次推倒位置 $x+1, x+2, \ldots, x+h$ 的所有骨牌。 - 同样地,如果向左倒下,它会推倒位置 $x-1, x-2, \ldots, x-h$ 的所有骨牌。

输入格式

输入的第一行是一个整数 $N$ ($N \le 50000$),表示多米诺骨牌的总数。接下来的 $N$ 行中,每行包含两个整数,分别表示多米诺骨牌的位置和高度($0 < \text{位置} < 2^{31}$,$0 < \text{高度} < 1000$)。保证没有两个多米诺骨牌的位置相同。

输出格式

输出一个整数,表示 Johnny 至少需要多少次推动才能使所有多米诺骨牌倒下。 **本翻译由 AI 自动生成**