QOJ.ac

QOJ

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

#13721. Pohlepko

Estadísticas

小 Greedy 在生日时收到了一个棋盘。棋盘有 $N$ 行 $M$ 列,每个格子里都有一个英文小写字母。在生日派对上,大家都觉得很无聊,于是决定玩一个简单的棋盘游戏。

游戏开始时,将一枚棋子放在坐标为 $(1, 1)$ 的左上角格子里。在每一步中,我们必须将棋子向右或向下移动一格,且必须保证棋子留在棋盘内。当棋子移动到坐标为 $(N, M)$ 的右下角格子时,游戏结束。在游戏过程中,我们记录下移动棋子时经过的字符序列,从而构造出一个单词。游戏的目标是找到字典序最小的单词。

成功拼出字典序最小单词的玩家将获得一袋糖果作为奖励。Greedy 无论如何都想赢得糖果,因此他请求你编写一个程序,来寻找可能拼出的字典序最小的单词。

请注意:单词的字典序就是它们在词典中出现的顺序。如果我们有两个单词,且它们在第一个不同的位置上字母不同,那么该位置字母在字母表中更靠前的单词更小。

输入格式

输入的第一行包含两个空格隔开的整数 $N$ 和 $M$($1 \le N, M \le 2000$)。

接下来的 $N$ 行,每行包含 $M$ 个英文小写字母,表示棋盘。

输出格式

输出必须为可能拼出的字典序最小的单词。

子任务

在总分 40 分的测试数据中,对于每个格子,其右边和下边的字母均不相同。

样例

输入样例 1

4 5
ponoc
ohoho
hlepo
mirko

输出样例 1

pohlepko

输入样例 2

4 5
bbbbb
bbbbb
bbabb
bbbbb

输出样例 2

bbbbabbb

输入样例 3

2 5
qwert
yuiop

输出样例 3

qweiop

说明

第一个样例的解释:

构造最小单词的一种方式如下图所示:

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.