[1159]羅区ランキング

 

タイトル説明

リトルマイケルは小さな町に住んでいる、彼は毎週テレビの音楽コンクールの午後の解放を見るのが好き。これは、これらの曲がチャートをポップ一覧表示票に基づいて毎週同じ歌を導入しました。

ある日曜日マイケルと彼の友人は、彼らが新しいポップチャートを見ることができないことをあまりにも長い間プレー。彼は非常にがっかりしましたが、彼はすぐに来週の一部が少なくともビルボードを構築することが分かりました。各曲の位置に加えて、これらの曲に応じてその動きについて、先週のランキングリストの情報をランク付けし、ランキング、より正確には、以降今週から、関係なく、曲をその場で行を継続することで、または上に移動以下のランキングは、少し説明が得られます。

プログラミングは、ビルボードによると、マイケルが可能ランキングを推測支援するために、先週与えられました。

入力形式

最初の行は整数N(1≤N≤100)N 1 N 。1 0 0 )、リスト上の曲の総数が表されています。

次のN 情報をランク付けNブロックリスト。各ブロックは、2つの列を有し、最初の行は、i番目のブロックである私の名前私の歌、せいぜい含まない歌100を1つの。0 次の三つの単語の第2の列を含む0大文字:UP U- P(ソングチャートで上昇位置)、DOWN D O WはN(チャートの減少にソング位置)または同じS M ランキング、先週チャートを示すと比較し、E(ランキング定数)リストを発生する変更。

出力フォーマット

N N最後の行出力チャートをしてもよいです。

各行は、i番目の行は、最初のランキングが含まれている曲の名前が含まれ、私の歌、私の歌を。

注:ソリューションは、一意である必要はなく、各テストデータのための少なくとも一つの解決策です。

サンプル入力と出力

入力#1
5 
HIGHHOPES 
UP 
LOWFEELINGS 
UP 
UPANDDOWN 
DOWN 
IAMSTILLSTANDING 
DOWN 
FOOLINGAROUND 
DOWN
出力#1
UPANDDOWN 
IAMSTILLSTANDING 
FOOLINGAROUND 
HIGHHOPES 
LOWFEELINGS

 ソリューション:シンプルなアプリケーションキュー恵み。グリーンタイトル

書式#include <cstdioを> 
する#include <iostreamの> 
の#include <cmath> 
の#include <CStringの> 
の#include <cstdlib> 
書式#include <アルゴリズム> 
書式#include <キュー>
 使用して 名前空間はstd;
文字列 D1 [ 111 ]、D2 [ 111 [F]、111 ]。
int型アップ、ダウン、now1、now2。
int型のn;
文字列S1、S2;
INT メイン(){ 
    freopenは(" 1159.in "" R " 、STDIN)。
    freopenは("" " W "STDOUT); 
    scanf関数(" %のD "& n)は、
     のためにint型 I = 1は iがn = <; iは++ ){ 
        CIN >> S1 >> S2;
         場合(S2 == " UP "){++まで、D1 [最大] = S1;}
         もし(S2 == " DOWN "){++ダウン; D2 [DOWN] = S1;}
         もし(S2 == " SAME )[I] = F S1。
    } のためにint型のI =
    1 ; iが<= N。私は++ ){
         場合(F [I] =!"" 続けます他に{
             場合(now1 <ダウン){now1 ++; F [I] = D2 [now1]。} 
              {now2 ++。F [I] = D1 [now2]。} 
        } 
    } 
    のためのint型 i = 1 ; iが++; iが<= N 
        COUT [I] << F << ENDL。
    リターン 0 ; 
}

 

おすすめ

転載: www.cnblogs.com/wuhu-JJJ/p/11734794.html