Processing math: 100%
编程题
                ### 问题描述

妮妮在一次探险中发现了一座神奇的字母山。这座字母山由 N 层小山组成,形成一个三角形。每一层小山由一些石头堆成,石头上刻有一个小写的英文字母。每一层的石头数量等于其所在的层数,例如第一层有一个石头,第二层有两个石头,依次类推,第 N 层有 N 个石头。

妮妮从山脚(第 1 层)开始,希望能找到一条路径到达山顶(第 N 层)。在每一步,妮妮可以选择向下跳到下一层的相同位置的石头,或者向下跳到下一层的下一个位置的石头。例如,从第 i 层的第 j 个石头,妮妮可以跳到第 i+1 层的第 j 个石头,或者第 i+1 层的第 j+1 个石头。

妮妮希望你能帮她找到一条从山脚到山顶的路径,使得这条路径上的字母按照字典顺序排序的话,是所有可能路径中字典序最小的。可以假设所有的字母都是独一无二的。

输入格式

第一行包含一个整数 N1N1000),表示字母山的层数。

接下来的 N 行描述了字母山的每一层。第 i+1 行为一个包含 i 个小写字母的字符串,这些字母表示第 i 层的石头上刻的字母。

输出格式

输出一行,包含一个字符串,表示从山脚到山顶的路径上的字母。字母之间没有空格。

样例输入

5
a
bc
def
ghij
klmno

样例输出

abdgk
查看答案
赣ICP备20007335号-2