JSK练习-水果店(映射表)

题目链接

有关“映射表的映射表”的题目,AC代码:

#include

using namespace std;

set<string>p;
set<string>f;

map<string, map<string, int>>d;
int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        string fr, wh;
        int cnt;
        cin>>fr>>wh>>cnt;
        p.insert(wh);
        f.insert(fr);
        if(!d.count(wh))
            d[wh][fr] = 0;
        else if(!d[wh].count(fr))
            d[wh][fr] = 0;
        d[wh][fr] += cnt;
    }
    for(set<string>::iterator it = p.begin(); it != p.end(); ++it)
    {
        string a = *it;
        cout<<a;
        for(set<string>::iterator itt = f.begin(); itt != f.end(); ++itt)
        {
            if(d[a].count(*itt))
                cout<<"\n"<<" |----"<<*itt<<"("<<d[a][*itt]<<")";
        }
        cout<<endl;
    }
    return 0;
}

你可能感兴趣的:(acm,STL)