230 - Borrowers
来源:互联网 发布:mac os 未能验证更新 编辑:程序博客网 时间:2024/05/01 14:04
不一定真的插入删除才能完成模拟过程。
#include <iostream>#include <vector>#include <algorithm>#include <string>#include <map>using namespace std;struct book{string name,author;int tag;book(const string & n ="n",const string & a="a",int t = 1):name(n),author(a),tag(t){}bool operator<(const book & b)const{if(author != b.author)return author < b.author;return name < b.name;}};int main(){string s,name,author,cmd;vector<book> books;map<string,int> mmap;while(getline(cin,s) && s != "END"){name = s.substr(0,s.find_last_of('\"')+1);author = s.substr(s.find_last_of('\"')+1);books.push_back(book(name,author));}sort(books.begin(),books.end());for(int i=0;i<books.size();i++){mmap[books[i].name]=i;}while(cin>>cmd && cmd != "END"){if(cmd == "BORROW"){getchar();getline(cin,name);books[mmap[name]].tag = -1;}else if(cmd =="RETURN"){getchar();getline(cin,name);books[mmap[name]].tag = 0;}else if(cmd =="SHELVE"){for(int i=0;i<books.size();i++){if(books[i].tag == 0){int j;for(j=i-1;j>=0;j--){if(books[j].tag == 1)break;}if(j >= 0)printf("Put %s after %s\n",books[i].name.c_str(),books[j].name.c_str());else printf("Put %s first\n",books[i].name.c_str());books[i].tag = 1;}}cout<<"END\n";}}system("pause");return 0;}
0 0
- 230 - Borrowers
- 230 - Borrowers
- 230 - Borrowers
- UVA - 230 Borrowers
- UVa 230 - Borrowers
- UVA - 230 Borrowers
- UVA-230 Borrowers
- Uva - 230 - Borrowers
- UVA 230 Borrowers
- UVA 230(p136)----Borrowers
- UVa 230 Borrowers
- uva 230 Borrowers
- UVA 230 Borrowers
- uva 230 Borrowers
- UVa 230 Borrowers
- UVa 230 - Borrowers(模拟)
- UVA - 230 Borrowers string+vector
- UVA 230 Borrowers (STL运用)
- mac class文件反编译jdgui
- 怎么在js中取java变量的值
- 使用ProcessBuilder创建process时,BufferedReader.readLine()超时
- EventBus简单使用
- 彻底明白Android中AIDL及其使用
- 230 - Borrowers
- Java 集合:Map 系列(HashMap,HashTable)
- 教你上传本地代码到github
- c/c++ 使用比long long还大的类型
- IOS UIWebView 的缩放问题
- iOS native 与 js 通信 资料汇总
- 随机模拟的基本思想和常用采样方法(sampling)
- 物体惯性旋转
- PHP学习笔记(二)