2010年8月19日木曜日

AOJ Volume 1 Problem 0105 : Book Index

#include <iostream>
#include <string>
#include <set>
#include <map>
using namespace std;

int main()
{
    int n;
    string str;
    map<string, set<int> > m;
    map<string, set<int> >::iterator p;

    while (cin >> str>> n)
        m[str].insert(n);

    for (p = m.begin(); p != m.end(); p++)
    {
        cout << p->first << endl;
        set<int>::iterator q = (p->second).begin();
        for (; q != (p->second).end(); )
        {
            cout << *q;
            cout << (++q != (p->second).end() ? ' ' : '\n');
        }
    }

    return 0;
}
 一つの書き方としてありかも.
あと, 書き方を変えてみました. こっちの方が一般的?
確かFuegoも書き方はこんな感じだったと思う.
いろいろ見て, 見習っていきたい.

1 件のコメント:

  1. 自分のブログに自分で投稿って・・・.

    このプログラム内のsetはvectorでいいみたい.
    下記のブログに書かれている方がキレイだと思う.
    komiyamの日記

    返信削除