フルーツ
制限時間:1000分の2000 MS(Javaの/その他)メモリの制限:32768分の65536 K(Javaの/その他)
の合計提出(S):15377受理提出(S):5977
問題の説明
夏はああ~~楽しい時間を来て、ああ、果物のすべての種類は~~
ジョーは小さな果物屋を実行します。彼は、ビジネスの生存率が最も果実の顧客に歓迎されていることを信じている。今、彼は販売の果物を望んでいますスケジュールなので、ジョーは簡単にフルーツのすべての売り上げを把握することができます。
入力
最初の行の正の整数N(0 <N <= 10 ) 、試験データのN個のセットを発現した。
テストデータの各セットの最初の行は整数M(0 <M <= 100である )、 Mは、労働者が成功したトランザクションを持って表しますその後、データのM個の行があり、各列は、トランザクション、果実の名前(小文字、80以下での長さ)、果実起源(小文字、80以下での長さ)果物やトランザクションの数(正の整数ではないを表します100以上)のコンポーネント。
出力
テストデータの各セットについて、あなたは果物の販売リスト(サンプル出力を解析してください)正しい形式でレイアウトをエクスポートします。このリストは、すべての果物の販売情報の起源、名前と電話番号が含まれています。フルーツプレス起源の分類原点アルファベット順、名前のアルファベット順にソートソート同じ起源、名前の果物。
テストデータの2つのセットの間に空白行がテストデータの最後のセットの後に空白行がないです。
テストデータの2つのセットの間に空白行がテストデータの最後のセットの後に空白行がないです。
サンプル入力
1個の 5 リンゴ山東3 パイナップル広東1 サトウキビ広東1 パイナップル広東3 パイナップル広東省1
サンプル出力
広東省 | ----パイナップル(5 ) | ----サトウキビ(1 ) 山東省 | ----リンゴ(3)
トピック分析
この質問は非常によくマップの利点に反映され、私たちは第一層に保存されている2次元地図データは、果物の起源で使用して、対応する第二の層は、果実の数であり、この時間は二つのポインタを横断する必要があることに注意してください。
コード:
#include <ビット/ STDC ++ H> 使用して名前空間STDを、INTのN、M、I、NUM。 文字列の 果物、場所; マップ < 文字列、マップ< 文字列、整数 >> MP; INT メイン() { CIN >> N。 一方、(N-- ) { mp.clear()。 cinを >> メートル。 用(i = 1 ; I <= M; iは++ ) { CIN >>フルーツ>>場所>> NUM。 MP [場所] [フルーツ] + = NUM; } マップ < 文字列、マップ< 文字列、int型 >> ::イテレータのp; 用(!; P = mp.end()P ++ P = mp.begin() ) { COUT << P->第<< ENDL。 マップ < 文字列、int型 > ::イテレータP2; 以下のための(!P2 = P - > second.begin(); P2 = P - > second.end(); P2 ++ ) はcout << " | ---- " << P2->最初<< ' (' << P2->二<< "endl; } もし(!N = 0 ) COUT << ENDL。 } }