国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

A1022. Digital Library

2019-11-08 19:26:19
字體:
來源:轉載
供稿:網友

1022. Digital Library (30)

時間限制1000 ms內存限制65536 kB代碼長度限制16000 B判題程序Standard作者CHEN, Yue

A Digital Library contains millions of books, stored according to their titles, authors, key Words of their abstracts, publishers, and published years. Each book is assigned an unique 7-digit number as its ID. Given any query from a reader, you are supposed to output the resulting books, sorted in increasing order of their ID's.

Input Specification:

Each input file contains one test case. For each case, the first line contains a positive integer N (<=10000) which is the total number of books. Then N blocks follow, each contains the information of a book in 6 lines:

Line #1: the 7-digit ID number;Line #2: the book title -- a string of no more than 80 characters;Line #3: the author -- a string of no more than 80 characters;Line #4: the key words -- each word is a string of no more than 10 characters without any white space, and the keywords are separated by exactly one space;Line #5: the publisher -- a string of no more than 80 characters;Line #6: the published year -- a 4-digit number which is in the range [1000, 3000].

It is assumed that each book belongs to one author only, and contains no more than 5 key words; there are no more than 1000 distinct key words in total; and there are no more than 1000 distinct publishers.

After the book information, there is a line containing a positive integer M (<=1000) which is the number of user's search queries. Then M lines follow, each in one of the formats shown below:

1: a book title2: name of an author3: a key word4: name of a publisher5: a 4-digit number rePResenting the year

Output Specification:

For each query, first print the original query in a line, then output the resulting book ID's in increasing order, each occupying a line. If no book is found, print "Not Found" instead.

Sample Input:
31111111The Testing BookYue Chentest code debug sort keywordsZUCS Print20113333333Another Testing BookYue Chentest code sort keywordsZUCS Print220122222222The Testing BookCYLLkeywords debug bookZUCS Print2201161: The Testing Book2: Yue Chen3: keywords4: ZUCS Print5: 20113: blablablaSample Output:
1: The Testing Book111111122222222: Yue Chen111111133333333: keywords1111111222222233333334: ZUCS Print11111115: 2011111111122222223: blablabla

Not Found

#include<cstdio>#include<string>#include<iostream>#include<vector>#include<map>#include<utility>using namespace std;map<int, vector<string> > mp;int main(){	int n, book_id;	scanf("%d", &n);	for(int i = 0; i < n; ++i){		vector<string> str;   //字符串向量		string temp;          //臨時字符串		scanf("%d", &book_id); getchar();		for(int j = 0; j < 5; ++j){			getline(cin, temp);			str.push_back(temp);		}		mp.insert(make_pair(book_id, str));	}	int m, query_id;	string info;	scanf("%d", &m);getchar();	for(int i = 0; i < m; ++i){		scanf("%d: ", &query_id);		getline(cin, info);		cout << query_id << ": " << info << endl;		map<int, vector<string> >::iterator it = mp.begin();		bool flag = false;		if(query_id != 3){            //查找不等于3的情況			while(it != mp.end()){				if(it->second[query_id - 1] == info){					printf("%07d/n", it->first);       //輸出書籍id					flag = true;				}				++it;			}		}else{                //查找等于3的情況			while(it != mp.end()){				if(it->second[query_id - 1].find(info) != string::npos){					printf("%07d/n", it->first);       //輸出書籍id					flag = true;				}				++it;			}		}		if(flag == false){			printf("Not Found/n");		}	}	return 0;}

這道題也可以用晴神方法,把書按查詢類型歸為一類,然后建立map<string, set<int> > 將書籍同一類id歸為一個集合例如   map<string, set<int> >  mpTitle, mpAuthor, mpKey, mpPub, mpYear;不過此題要注意對第三條關鍵字要注意,錄入的時候是整條,但查詢的時候是只查詢一個關鍵字,不是像錄入那樣整條關鍵字,所以 需要單獨拿出來, find()查找另外值得一提的是,之前用cout輸出最后一個測試點是911ms  換成printf最后一個測試點輸出時間569ms,可見輸出最好用printf,否則很容易超時 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 婺源县| 东乡族自治县| 外汇| 绵竹市| 泰兴市| 五台县| 图片| 清远市| 临江市| 繁峙县| 西青区| 上虞市| 溧水县| 兰溪市| 莱州市| 桦川县| 黎城县| 吉木萨尔县| 佛冈县| 乐昌市| 新泰市| 大洼县| 墨竹工卡县| 泰和县| 五家渠市| 卫辉市| 子长县| 阜新市| 新干县| 安庆市| 蕲春县| 潮安县| 宜兴市| 洛川县| 姚安县| 苍山县| 府谷县| 武威市| 建湖县| 利川市| 连平县|