#5081. Problem 2. Robot Instructions
Problem 2. Robot Instructions
Problem 2. Robot Instructions
USACO 2022 February Contest, Silver
Bessie is learning how to control a robot she has recently received as a gift.
The robot begins at point on the coordinate plane and Bessie wants the robot to end at point . Bessie initially has a list of () instructions to give to the robot, the -th of which will move the robot units right and units up (or left or down when and are negative, respectively).
For each from to , help Bessie count the number of ways she can select instructions from the original such that after the instructions are executed, the robot will end at point .
Note: the time and memory limits for this problem are 4s and 512MB, twice the defaults.
INPUT FORMAT (input arrives from the terminal / stdin):
The first line contains . The next line contains and , each in the range . The final lines describe the instructions. Each line has two integers and , also in the range .
It is guaranteed that and for all .
OUTPUT FORMAT (print output to the terminal / stdout):
Print lines, the number of ways Bessie can select instructions from the original for each from to .
SAMPLE INPUT:
7 5 10 -2 0 3 0 4 0 5 0 0 10 0 -10 0 10
SAMPLE OUTPUT:
0 2 0 3 0 1 0
In this example, there are six ways Bessie can select the instructions:
(-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)
For the first way, the robot's path looks as follows:
(0,0) -> (-2,0) -> (1,0) -> (5,0) -> (5,10) -> (5,0) -> (5,10)
SCORING: Test cases 2-4 satisfy .Test cases 5-16 satisfy no additional constraints.
Problem credits: Alex Liang