#949. [CZOI2024 A] 早起的鸟儿有虫吃

    ID: 949 传统题 1000ms 256MiB 尝试: 25 已通过: 1 普及- 上传者: 标签>算法基础数学时间2024来源常州小学生市赛

[CZOI2024 A] 早起的鸟儿有虫吃

题目描述

清晨,丛林里的鸟儿开始了一天的忙碌,吃早餐。

丛林可以看成是一个无限大的网格,每个格子在 00 时刻都有且仅有一只虫子。丛林里有 nn 只鸟,第 ii 只鸟在 00 时刻在第 xix_i 行,第 yiy_i 列。其中,对于所有数据保证 xi=1x_i=1yi=1y_i=1,即第 ii 只鸟初始时一定在第 11 行或第 11 列。

为了简化问题,我们假设鸟都只会向下或向右直线飞行,而虫子是不动的。当鸟儿在任何时刻(包括时刻 00)飞过一个格子时,就会吃掉该格子内的虫子。相应的,该时刻之后,该格子就不再有虫子了。

同时保证:如果一只鸟往下飞,则它的起始位置一定在第一行;如果一只鸟往右飞,则它的起始位置一定在第一列。为了保证鸟的飞行方向唯一,鸟的初始位置不会是 (1,1)(1,1)

因为所有鸟都喜欢享受连续的免费早餐,所以如果在飞行时到达了一个已经没有虫子的格子,它就会非常不爽,直接停止在这个格子中。测试数据保证所有的鸟在任意时刻的位置互不相同。

需要注意的是,吃早餐的时间是有限的,只有 WW 个单位的时间。因此,如果一只鸟在时刻 WW 开始时还没有停止,那它会在这个时刻开始前被强制停止。

现在,想请聪明的你求出,对于每个 i(1in)i(1\le i\le n),第 ii 只鸟吃了多少只虫子?

输入格式

第一行,两个正整数 n,Wn, W,分别表示鸟的数量和吃早餐的总时刻数。

接下来 nn 行,每行两个正整数 xi,yix_i,y_i

输出格式

nn 行,第 ii 行一个正整数,表示第 ii 只鸟吃的虫子数。

样例

1 5
2 1
5
2 20
2 1
1 5
4
20

样例解释

样例 1\textbf 1 解释

仅有的 11 只鸟在时刻 00 从第 22 行第 11 列向右依次飞过 151\sim 5 列, 在时刻 0,1,2,3,40,1,2,3,4 各吃了一只虫子,在时刻 55 开始前被强制停止了,所以共吃了 55 只虫子。

样例 2\textbf 2 解释

11 只鸟在时刻 00 从第 22 行第 11 列向右依次飞过 141\sim4 列,在时刻 44 时飞到了第 22 行第 55 列,发现这一格的虫子在时刻 11 就被第 22 只鸟吃掉了,所以共吃了 44 只虫子就停下了。

22 只鸟在时刻 00 从第 11 行第 55 列向下沿着第 55 列依次飞过 1201\sim20 行,共吃了 2020 只虫子后于时刻 2020 停止。

数据范围

对于所有数据,1n3,1xi,yi1091≤n≤3,1≤x_i,y_i≤10^9,对于每个 iixi=1x_i=1yi=1y_i=1

保证所有未停止的鸟在任意时刻位置互不相同,即任意时刻不会有两只鸟到达同一格子。

测试点编号 特殊性质
11 α\alpha
232\sim 3 α,β\alpha,\beta
45,894\sim5,8\sim9 β\beta
67,106\sim7,10
  • 特殊性质 α\alphan=1n=1
  • 特殊性质 β\beta:所有鸟的前进方向相同。