QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 64 MB Puntuación total: 80

#13709. Jetpack

Estadísticas

小 Mirko 在生日时收到了一部新手机!像现在的所有孩子一样,他很快下载了所有热门的手游,其中包括《喷气背包冒险》(Jetpack Joyride)。

在游戏中,主角 Barry 正在一个由 $10$ 行 $N$ 列等大正方形方格组成的区域中奔跑。最初,Barry 位于左下角方格的中心。Barry 以每秒一个方格的速度不断向右奔跑。此外,他必须避开挡在他路上的障碍物。

当 Mirko 按下手机屏幕时,Barry 会启动他超级厉害的专用喷气背包,并以每秒一个方格的速度开始上升(同时仍然向右移动,即以 $45^\circ$ 角向右上方对角线移动,直到他到达天花板,此时他将继续向右移动,直到 Mirko 释放屏幕)。当 Mirko 释放手机屏幕时,Barry 开始以每秒一个方格的速度下落(再次沿对角线移动,但这次是向右下方,直到他到达地面,此时他将继续向右移动)。

Mirko 最近才开始玩这个游戏,玩得还不太好。他在 YouTube 上看到有人成功通过了所有 $N$ 列完成了游戏,因此他向你寻求帮助。他会给你游戏中关卡的布局,你必须输出他为了获胜需要进行的具体操作。

输入格式

输入的第一行包含一个整数 $N$($1 \le N \le 10^5$),表示关卡的列数。

接下来的 $10$ 行,每行包含 $N$ 个字符 .X,表示游戏关卡的布局。字符 X 表示障碍物,. 表示可行走的区域。

输出格式

输出的第一行必须包含一个整数 $P$($0 \le P \le 5 \cdot 10^4$),表示 Mirko 需要进行的操作次数。

在接下来的 $P$ 行中,每行输出一个操作,表示能解决 Mirko 问题的任意一组共 $P$ 个操作的序列。

每个操作由两个整数 $t_i$ 和 $x_i$ 决定,其中 $t_i$ 表示 Mirko 需要按下屏幕的时刻(秒),$x_i$ 表示他需要保持按住屏幕的时间(秒)。

操作序列必须按时间顺序排序。换句话说,必须满足 $t_i + x_i \le t_{i+1}$。

此外,任何操作都不能在游戏结束之后开始,即 $t_i < N$。

输入数据保证一定存在解。

样例

输入样例 1

11
.....XX...X
....XX...XX
...XX...XX.
...........
....XXX....
...........
.....X.....
....XX...X.
...XX...XX.
...X...XX..

输出样例 1

2
1 4
7 2

输入样例 2

20
X..................X
.X................X.
..X..............X..
...X............X...
....X..........X....
.....X........X.....
......X......X......
.......X....X.......
........X..X........
.........XX.........

输出样例 2

1
8 10

说明

样例 1 说明

Mirko 必须行进的路径用 * 表示:

.....XX...X
....XX...XX
...XX...XX.
...........
....XXX....
.....*...*.
....*X*.*.*
...*XX.*.X.
..*XX...XX.
**.X...XX..

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.