字符串子串

成绩 0 开启时间 2013年02月21日 星期四 23:02
折扣 0.8 折扣时间 2013年02月28日 星期四 23:02
允许迟交 关闭时间 2013年02月28日 星期四 23:02
输入文件 substring.in 输出文件 substring.out
【问题描述】
Lee 博士把一个字符串 S 分成了 N 段,分别为 s[1] ,…, s[N] 。现在, Lee 博士把这 N 个字符串子串给你了,那么对于字符串 S 来说,就会有若干种可能。举个例子,如果 Lee 博士给你了三个子符串 { “ a ” , “ ab ” , “ ac ” } ,则字符串 S 可能为“ aabac ”,“ aacab ”,“ abaac ”,…。你的任务是输出按字典序最小的那个 S 。
【输入格式】
输入文件的第一行一个正整数 N ( 1 ≤ N ≤ 8 ),表示字符串子串的个数,接下来有 N 行,第 i 行为第 i 个字符串子串 s[i] 。假定每一个字符串子串的长度均为小于 100 的正整数。
【输出格式】
输出有一行,即按字典序最小的那个 S ,不允许出现多余的空格。
【输入样例】
输入文件名: substring.in
3
a
ab
ac
输出文件名: substring.out
aabac