タイトル説明
N- 、Nは正の整数(n≤20) (N- ≤ 2 0 整数の最大数を形成するように一列に連結されています)。
:例えば3 = N- N- = 3、。3。整数3 13である1。3 312 3。1。2、343 3。4。最大整数に3を結合:34331213 。3 4。3。3。1。2 1。3。
別の例:N- 4 = N- = 4、。4。4つの整数7。7 13れている1。3 4 4 246 2 4。6が最大の整数に結合されている:7424613 。7 。4 2 。4 。6 。1 。3
入力#
3
13 312 343
出力#1
34331213
非常に単純題した最後の水のx、今日(朝スムーズに完成で容易に開放弦のトピックが,,)、明らかに高を確保するためではなく、整数のサイズよりも文字列辞書順行、(に基づいており,,一緒に最大を置きます文字列が別の文字列、必要性の特別言い渡された瞬間であるときの数字は)できるだけ大きく,, WAポイントは最後のケースで、私たちは辞書的に配置することはできません。
1の#include <ビット/ STDC ++ H> 2 使用して 名前空間STDを、 3 typedefの長い 長いLL。 4 CONST INT N = 1E3 + 7 。 5 ストリング S [ 100 ]。 6 ブール CMMP(列 A、列B){ 7 INTラ= a.size()、LB = b.size()。 8 int型 L = 分(LA、LB)。 9 用(INT iが= 0 ; I <Lであり; ++ i)が{ 10 場合([I]> B [i])とリターン 1。// 在B前1 11 他の 場合([i]が<B [i])とリターン 0 。 12 } 13 であれば(LA> LB){ 14 であれば([LB]> [ 0 ])リターン 1 。 15 他の リターン 0 ; 16 } 17 そう であれば(LA < LB){ 18 であれば(B [ラ]> B [ 0 ])戻り 0 。 19 ほかの 復帰 1; 20 } 21 リターン 1 。 22 } 23 int型のmain(){ 24 INT N。文字列TP; 25の IOS :: sync_with_stdio(0 )。 26 CIN >> N。 27 のために(INT iは= 0 ; iは<N; ++ I)CIN >> S [i]は、 28 のために(INT iが= 0 ; iが<N; ++ i)が{ 29 のために(INT J = I + 1 ; nはJ <; ++ J){ 30 もし(CMMPは(S [i]は、S [J])== 0 ){ 31 のTP = S [i]は、S [I] = S [J]、S [J] = TP。 32 } 33 } 34 } 35 のために(INT iは= 0 ; iは<N; ++ I)COUT << S [i]は、COUT << ENDL。 36 }