SDNU 1201シンプルなソート

説明

私たちは宇宙と見られている「5」の行番号を置けば整理問題をもう一度、被写体がそうである、あなたは空白行で区切られた非負整数の個数を取得し、行番号を入力します(0「を持ついくつかの整数があるかもしれません「最初の頭部」0「は、これが整数でない限り、無視されるべきである」0「の組成物は、整数)は0です。

あなたの仕事は、これらを分割した整数、小から大仕分け出力するためにかかります。

入力

複数組を含むテスト入力は、デジタル入力データの各セットは、唯一の線(数字の間のスペースなし)、デジタルライン長が1000以下であるです。  

缶はない全ての入力データ「5」組成物、非負整数1,000億を得分割されていない入力データがいることを確認します。

出力

各テストケースの結果は、スペースで区切られた2つの隣接する整数の間、出力を分割して得られる、ライ​​ン毎の各出力を整数ソート。

サンプル入力

0051231232050775

サンプル出力

0 77 12312320

ヒント

国内タイトル

ソース

道の
考える:私は2日間貼り付けた、いくつかの驚くべきことは何ですか...
書式#include <cstdioを> 
する#include <iostreamの> 
の#include <cmath> 
の#include < 文字列 > 
の#include <CStringの> 
の#include <アルゴリズム> 
書式#include <キュー> 
の#include <ベクトル> 
の#include <マップ>
 使用して 名前空間はstd;
#defineは、長い長いっ文字列sの。
LLのNUM [ 1000年 + 8 ]。INT メイン()
{ 一方(CIN >> S)
    { 
        memsetの(NUM、 - 1はsizeof




    (NUM))。
        LL LEN = s.size()、II = 1 INTの ID = 0 (LL i = 0 ; iがLEN <I ++は
        { 
            もし、(S [I] == ' 5 ' 
            { 
                場合(私は、S && [I- 1!] = ' 5 ')ID ++ 続け; 
            } 
            もし(!NUM [ID] = - 1)NUM [ID] = NUM [ID] * 10 + S [i]が- 48  NUM [ID] = sの[i]を-48 ; 
        } 
        もし(!NUM [ID] = - 1)ID ++ 
        ソート(NUM、NUM + ID)。
        ブールフラグ= 0 (LL i = 0 ; iはID <I ++の
        { 
            場合(フラグ)のprintf("  " )。
            フラグ = 1 
            printf(" %のLLD " 、NUM [I])。
        } 
        のprintf(" の\ n " ); 
    } 
    戻り 0 
}

 

おすすめ

転載: www.cnblogs.com/RootVount/p/10990343.html