Jetpack
의견: 0
1 \(s / 64\) \(MB / 80\) points
Little Mirko got a new mobile phone for his birthday! As all kids nowadays, he quickly
downloaded all of the popular mobile games, including Jetpack Joyride.
In the game, the protagonist Barry is running across a field consisting of 10 rows and \(N\)
columns of squares of equal size. Initially, Barry is located in the center of the square in the
lower left corner. Barry is constantly running to the right at the speed of one square per
second. Additionally, he must avoid obstacles that are in his way.
When Mirko presses the phone screen, Barry turns on his sup\(er-du\)per special jetpack and
starts his ascent at the speed of one square per second (still moving to the right, now
moving diagonally up at an angle of 45°, until he reaches the ceiling, when he will continue
moving to the right until Mirko releases the screen). When Mirko releases the phone screen,
Barry starts falling down at the speed of one square per second (now moving diagonally
again, but this time facing down, until he reaches the floor, when he will continue moving to
the right).
Mirko just started playing the game recently and he’s still not good at it. He saw on YouTube
that someone managed to complete the game by crossing all \(N\)
columns, so he is asking
you for your help. He will give you the layout of the fields in the game, and you must output
the moves he has to play in order to win.
The first line of input contains the integer \(N\)
(1 ≤ \(N\)
≤ 10 {5}{ }), the size of the field.
Each of the following 10 lines contains \(N\)
characters ‘.’ and ‘X’, the layout of the field in the
game. The characters ‘X’ denote obstacles, and ‘.’ walkable fields.
The first line of output must contain the integer \(P\)
(0 ≤ \(P\)
≤ \(5 \cdot 10\) {4}{ }), the number of moves
Mirko has to make.
In the following \(P\)
lines, output any series of \(P\)
moves, each in its own line, such that it solves
Mirko’s problem from the task.
A move is determined by two integers \(t\)
\(i\)
and \(x\)
\(i\)
, where \(t\)
\(i\)
denotes the second in which Mirko
has to press the screen, and \(x\)
{i}{ }^{denotes how long he needs to keep the screen pressed.}
A series of moves must be sorted in chronological order. In other words, it must hold \(t\)
\(i\)
- \(x\)
\(i\)
≤
\(t\)_{\(i+1\)}.
Also, no move should begin after the end of the game, \(t\)
\(i\)
< \(N\)
.
The input data will be such that a solution will surely exist.
1 \(s / 64\) \(MB / 80\) points
11
.....XX...X
....XX...XX
...XX...XX.
...........
....XXX....
...........
.....X.....
....XX...X.
...XX...XX.
...X...XX..
20
X..................X
.X................X.
..X..............X..
...X............X...
....X..........X....
.....X........X.....
......X......X......
.......X....X.......
........X..X........
.........XX.........output
2
1 4
7 2
1
8 10Clarification of the first test case:
The path Mirko has to take is denoted with ‘*’:
.....XX...X
....XX...XX
...XX...XX.
...........
....XXX....
.........
....X..
...XX..X.
..XX...XX.
*.X...XX..
평가 및 의견
Jetpack
Log in to rate problems.
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
Jetpack