羅区P1012戦う番号(水タイトル文字列

タイトル説明

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 }

 

おすすめ

転載: www.cnblogs.com/h404nofound/p/12179921.html