#P51175. [NOI 2019] Robots
[NOI 2019] Robots
题目描述
小 R 喜欢研究机器人。
最近,小 R 新研制出了两种机器人,分别是 P 型机器人和 Q 型机器人。现在他要测试这两种机器人的移动能力,测试在从左到右排成一排的 个柱子上进行,柱子用 依次编号, 号柱子的高度为一个正整数 。机器人只能在相邻柱子间移动,即:若机器人当前在 号柱子上,它只能尝试移动到 号和 号柱子上。
每次测试,小 R 会选取一个起点 ,并将两种机器人均放置在 号柱子上。随后它们会按自己的规则移动。
P 型机器人会一直向左移动,但它无法移动到比起点 更高的柱子上。更具体地,P 型机器人在 号柱子停止移动,当且仅当下列两个条件均成立:
- 或 ;
- 对于满足 的 ,有 。
Q 型机器人会一直向右移动,但它只能移动到比起点 更低的柱子上。更具体地,Q 型机器人在 号柱子停止移动,当且仅当下列两个条件均成立:
- 或 ;
- 对于满足 的 ,有 。
现在,小 R 可以设置每根柱子的高度, 号柱子可选择的高度范围为 ,即 。小 R 希望无论测试的起点 选在哪里,两种机器人移动过的柱子数量的差的绝对值都小于等于 。他想知道有多少种柱子高度的设置方案满足要求,小 R 认为两种方案不同当且仅当存在一个 ,使得两种方案中 号柱子的高度不同。请你告诉他满足要求的方案数模 后的结果。
输入格式
从文件 robot.in
中读入数据。
第一行一个正整数 ,表示柱子的数量。
接下来 行,第 行两个正整数 ,分别表示 号柱子的最小和最大高度。
输出格式
输出到文件 robot.out
中。
仅一行一个整数,表示答案模 的值。
样例
5
3 3
2 2
3 4
2 2
3 3
1
柱子高度共两种情况:
- 高度为:。此时若起点设置在 ,P 型机器人将停在 号柱子,共移动 个柱子。Q 型机器人停在 号柱子,共移动 个柱子,不符合条件;
- 高度为:。此时无论起点选在哪,都满足条件,具体见下表:
起点编号 | P 型机器人 | Q 型机器人 |
---|---|---|
停在 号柱子,移动过 个 | 停在 号柱子,移动过 个 | |
停在 号柱子,移动过 个 | 停在 号柱子,移动过 个 | |
停在 号柱子,移动过 个 | 停在 号柱子,移动过 个 | |
停在 号柱子,移动过 个 | 停在 号柱子,移动过 个 | |
停在 号柱子,移动过 个 | 停在 号柱子,移动过 个 |
样例 2
见附加文件的 robot/robot2.in
与 robot/robot2.ans
。
样例 3
见附加文件的 robot/robot3.in
与 robot/robot3.ans
。
样例 4
见附加文件的 robot/robot4.in
与 robot/robot4.ans
。
数据范围与提示
对于所有测试数据:。
每个测试点的具体限制见下表:
测试点编号 | 特殊性质 | |
---|---|---|
无 | ||