栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1886 Borrowers

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1886 Borrowers

#include<iostream>#include<set>#include<map>#include<string>using namespace std;struct Book{    string title;    string author;};bool operator<(const Book &b1,const Book &b2){    if(b1.author==b2.author) return b1.title>b2.title;    return b1.author>b2.author;}set<Book> library;set<Book> desk;map<string,Book> title_to_book;int main(){    string line;    while(getline(cin,line),line!="END"){        int p = line.find(" by ");        Book book;        string title = line.substr(0,p);        string author = line.substr(p+4);        book.title = title;        book.author = author;        title_to_book[title] = book;        library.insert(book);    }    while(getline(cin,line),line!="END"){        string title;        if(line.substr(0,6)=="BORROW"){ title = line.substr(7); library.erase(title_to_book[title]);        }else if(line.substr(0,6)=="RETURN"){ title = line.substr(7); desk.insert(title_to_book[title]);        }else{   for(set<Book>::reverse_iterator it=desk.rbegin();it!=desk.rend();it++){     cout<<"Put "<<it->title;     if(library.upper_bound(*it)==library.end()) cout<<" first"<<endl;     else cout<<" after "<<library.upper_bound(*it)->title<<endl;     library.insert(*it); } cout<<"END"<<endl; desk.clear();        }    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375271.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号