zoukankan      html  css  js  c++  java
  • 1022 Digital Library (30 分)

    水。

    题意

    给出N本书的编号、书名、作者、关键词(可能有多个)、出版社及出版年份,并给出M个查询,每个查询给出书名、作者、关键词(单个)、出版社及出版年份中的一个,要求输出满足该给出信息的所有书的编号。

    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;
    }
    
  • 相关阅读:
    动态传参
    函数的介绍
    文件的操作
    send email with formatted table
    minimize and close window with customed winform
    python algorithm
    something important about docker
    book list
    which language is suitable for what to do
    Find Duplicate Items in list fast
  • 原文地址:https://www.cnblogs.com/fxh0707/p/14429552.html
Copyright © 2011-2022 走看看