问题 6404 --早起的鸟儿有虫吃(a)

6404: 早起的鸟儿有虫吃(a)

题目描述

清晨,丛林里的鸟儿开始了一天的忙碌,吃早餐。 丛林可以看成是一个无限大的网格,每个格子在 0 时刻都有且仅有一只虫子。丛林里有 n (1≤ n≤ 3) 只鸟,第 i 只鸟在 0 时刻在第 x[i] 行,第 y[i] 列。其中,对于所有数据保证 x[i]=1 或 y[i]=1,即第 i 只鸟初始时一定在第 1 行或第 1 列。 为了简化问题,我们假设鸟都只会向下或向右直线飞行,而虫子是不动的。当鸟儿在任何时刻(包括时刻 0)飞过一个格子时,就会吃掉该格子内的虫子。相应的,该时刻之后,该格子就不再有虫子了。 同时保证:如果一只鸟往下飞,则它的起始位置一定在第一行;如果一只鸟往右飞,则它的起始位置一定在第一列。为了保证鸟的飞行方向唯一,鸟的初始位置不会是 (1,1) 。 因为所有鸟都喜欢享受连续的免费早餐,所以如果在飞行时到达了一个已经没有虫子的格子,它就会非常不爽,直接停止在这个格子中。测试数据保证所有的鸟在任意时刻的位置互不相同。 需要注意的是,吃早餐的时间是有限的,只有 W 个单位的时间。因此,如果一只鸟在时刻 W 开始时还没有停止,那它会在这个时刻开始前被强制停止。 现在,想请聪明的你求出,对于每个 i (1≤i≤n),第 i 只鸟吃了多少只虫子?

输入

第一行,两个正整数 n, W ,分别表示鸟的数量和吃早餐的总时刻数。 接下来 n 行,每行两个正整数 x[i], y[i],表示第i只鸟的位置

输出

共 n 行,第 i 行一个正整数,表示第 i 只鸟吃的虫子数。

样例输入输出

输入#1 复制
1 5
2 1
输出#1 复制
5
输入#2 复制
2 20
2 1
1 5
输出#2 复制
4
20

提示

【样例解释1】 仅有的1 只鸟在时刻 0从第2行第1列向右依次飞过1~5列, 在时刻0,1,2,3,4 各吃了一只虫子,在时刻 5 开始前被强制停止了,所以共吃了 5 只虫子。 【样例解释2】 第 1 只鸟在时刻 0从第2行第1列向右依次飞过1~4列,在时刻 4时飞到了第2行第5列,发现这一格的虫子在时刻1就被第2只鸟吃掉了,所以共吃了4 只虫子就停下了。第 2 只鸟在时刻 0从第1行第5列向下沿着第5列依次飞过1~20行,共吃了20只虫子后于时刻20停止。 【数据范围】 - 对于所有测试点:1≤n≤3, 1≤x[i], y[i]≤10^9,对于每个 i 有 x[i]=1 或 y[i]=1 - 对于测试点1-3 :n=1 - 对于测试点 1、4、5、8、9:所有鸟的前进方向相同 - 保证所有未停止的鸟在任意时刻位置互不相同,即任意时刻不会有两只鸟到达同一格子
序号 标题 作者 发表时间 费用 订购数 操作