#5081. Problem 2. Robot Instructions

0

Problem 2. Robot Instructions

Problem 2. Robot Instructions

USACO 2022 February Contest, Silver

Bessie 正在学习如何控制她最近作为礼物收到的机器人。

机器人从坐标平面上的点 (0,0)(0, 0) 开始移动,而 Bessie 希望机器人移动到点 (xg,yg)(x_g, y_g)。Bessie 初始时有一个包含 NN1N401\le N\le 40)条指令的指令列表可以用于控制机器人,其中第 ii 条指令可以令机器人向右移动 xix_i 个单位,向上移动 yiy_i 个单位(或向左、向下,当 xix_iyiy_i 分别为负数时)。

对于从 11NN 中的每一个 KK,帮助 Bessie 计算她可以从原来的 NN 条指令中选择 KK 条的方法数,使得在执行这 KK 条指令后,机器人将移动到点 (xg,yg)(x_g, y_g)

注意:本题的时间和内存限制分别为 4 秒和 512MB,通常限制的两倍。

输入格式(从终端 / 标准输入读入):

输入的第一行包含 NN。第二行包含 xgx_gygy_g,均在 109109-10^9 \ldots 10^9 范围内。最后 NN 行表示指令。每行包含两个整数 xix_iyiy_i,同样在 109109-10^9 \ldots 10^9 范围内。

输入保证 (xg,yg)(0,0)(x_g,y_g)\neq (0,0) 以及对于所有的 ii(xi,yi)(0,0)(x_i,y_i)\neq (0,0)

输出格式(输出至终端 / 标准输出):

输出 NN 行,对 11NN 中的每一个 KK 输出 Bessie 可以从原来的 NN 条指令中选择 KK 条的方法数。

输入样例:


7
5 10
-2 0
3 0
4 0
5 0
0 10
0 -10
0 10

输出样例:


0
2
0
3
0
1
0

在这个例子中,Bessie 有六种选择指令的方法:


(-2,0) (3,0) (4,0) (0,10) (0,-10) (0,10) (1 2 3 5 6 7)
(-2,0) (3,0) (4,0) (0,10) (1 2 3 5)
(-2,0) (3,0) (4,0) (0,10) (1 2 3 7)
(5,0) (0,10) (0,-10) (0,10) (4 5 6 7)
(5,0) (0,10) (4 5)
(5,0) (0,10) (4 7)

对于第一种方法,机器人的移动路径如下:


(0,0) -> (-2,0) -> (1,0) -> (5,0) -> (5,10) -> (5,0) -> (5,10)

测试点性质: 测试点 2-4 满足 N20N\le 20。测试点 5-16 没有额外限制。

供题:Alex Liang