B - String Sorting Editorial /

Time Limit: 2 sec / Memory Limit: 64 MB

問題文

K 桁の数が書かれたカードが N 枚ある.

N 枚のカードを1列に並べることにより, K×N 桁の数を構成することが出来る.

どのようにカードを並べると, 最も値の大きな数を構成することが出来るだろうか.

入力形式

入力は以下の形式で与えられる.

N\ K\
a1\ ...\ aN\

N はカードの数であり,K はカードに書かれた数の桁数である.

aii 番目のカードに書かれた数を表す.

出力形式

カードを1列に並べた時に構成することが出来る数の最大値を1行に出力せよ.

制約

  • 1 ≤ N ≤ 100, 1 ≤ K ≤ 30
  • ai はちょうど K 桁の正の整数であり、最上位の桁は0ではない.

入出力例

入力例 1

2 4
1234 4321

出力例 1

43211234

2 枚のカードの並べ方を変えることにより, 1234432143211234 のいずれかを構成することが出来る. よって構成することのできる最大の数は 43211234 である.

入力例 2

3 3
111 333 222

出力例 2

333222111

3 枚のカードの並べ方は 6 通り考えられる.


Writer: 田村和範
Tester: 楠本充

Source Name

KUPC 2012 Practice