1022 Digital Library (30 分)

水。

map<string,set<string>> mp[6];
int n,m;

int main()
{
    cin>>n;
    cin.ignore();

    for(int i=0;i<n;i++)
    {
        string id,title,author,keywords,publisher,publish_year;
        getline(cin,id);

        getline(cin,title);
        mp[1][title].insert(id);

        getline(cin,author);
        mp[2][author].insert(id);

        getline(cin,keywords);
        stringstream ss(keywords);
        string keyword;
        while(ss>>keyword)
            mp[3][keyword].insert(id);

        getline(cin,publisher);
        mp[4][publisher].insert(id);

        getline(cin,publish_year);
        mp[5][publish_year].insert(id);
    }

    cin>>m;
    cin.ignore();

    while(m--)
    {
        string s;
        getline(cin,s);
        string t=s.substr(3);
        cout<<s<<endl;
        int k=s[0]-'0';
        if(mp[k][t].size() == 0)
            puts("Not Found");
        else
        {
            for(auto id:mp[k][t])
                cout<<id<<endl;
        }
    }
    
    //system("pause");
    return 0;
}
上一篇:C++之cin探究


下一篇:C++中字符和字符串的读取