[X]ドラゴンボールの問題解決

明日の夜、私は次を理解するために、リストをテストしたいです。

トピックリンク

ソリューション:

フロントとリアがそれらを再接続するので、この質問については、私たちはリストを検討してください。

のは、正常な関係を維持するために、リストを使用してみましょう。私たちは、その後、列挙を降順。

(それは一入るので)それはいくつかの後ろにある場合、この数については、キューの圧力(出力する)に入れて

これは貪欲のプロセスを完了するために、リストを使用します。

コード:

 

書式#include <リスト> 
の#include <iostreamの> 
の#include <cstdioを>
 使用して 名前空間はstdを、
int型のヘッド[ 500000 ]、次に[ 500000 ]。
int型のn、[ 500000 ]。
INT メイン(){ 
    scanf関数(" %のD "、&N)
    以下のためにint型私= 1 ++; iが<= N I){ 
        scanf関数(" %のD "、および[I])。
        ヘッドは、[i]は] = [I- 1 ]。
        次の[[I - 1]] = [I]。
    } 
    のためにint型 I = N; I> = 1 ; - I){
         場合(次に[I]){ // 这里是I、故从小到大。 
            のprintf(" %d個の%のD " 、I、次に[私]); 
            次に[ヘッド[I] = 次の[次に[I]]。
            ヘッド[次に[次に[I]]] =頭部[I]。// 次のI [次に[I]]。ヘッド=ヘッド[I]。
            次に[次に[I] = 0 ; // 即ヘッド[次に[次に[I]]] =頭部[I]。
        } 
    } 
    戻り 0 
}

 

おすすめ

転載: www.cnblogs.com/h-lka/p/11227657.html