本文共 1463 字,大约阅读时间需要 4 分钟。
看了答案才知道了这题的各种骚操作,然后敲了一顿骚键盘,然后wa。调了很久,才发现要规格化打印……mdzz……
注:加粗代码为傻逼规格化打印代码:
#include #include #include #include #include #include #include #include #include #include #define I scanf#define OL puts#define O printf#define F(a,b,c) for(a=b;a =0;a--)#define LEN 1010#define MAX (1<<30)-1#define V vector #define MAP map > //将名字映射为ID using namespace std;MAP mTitle,mAuthor,mKey,mPublish,mYear;void query(MAP & mp,string obj) { set s=mp[obj]; if(!s.size()) { puts("Not Found"); return; } set ::iterator it=s.begin(); while(it!=s.end()) { O("%07d\n",*it); it++; }}int main() {// freopen("1022.txt","r",stdin); int N,id,K,op; I("%d",&N) ; char buf[1000]; while(N--) { //ID I("%d",&id); getchar();//处理空格 //书名 gets(buf); mTitle[string(buf)].insert(id); //作者 gets(buf); mAuthor[string(buf)].insert(id); //关键词 while(I("%s",buf)) { mKey[string(buf)].insert(id); if(getchar()=='\n') break; } //出版商 gets(buf); mPublish[string(buf)].insert(id); //年 gets(buf); mYear[string(buf)].insert(id); } I("%d",&K) ; while(K--) { I("%d: ",&op); gets(buf); O("%d: %s\n",op,buf); switch(op) { case 1: query(mTitle,string(buf)); break; case 2: query(mAuthor,string(buf)); break; case 3: query(mKey,string(buf)); break; case 4: query(mPublish,string(buf)); break; case 5: query(mYear,string(buf)); break; } } return 0;}
今日不宜编程……
转载于:https://www.cnblogs.com/TQCAI/p/8585515.html