日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > 2014ACM/ICPC 廣州賽區(qū)E題 (水~)

2014ACM/ICPC 廣州賽區(qū)E題 (水~)

來源:程序員人生   發(fā)布時(shí)間:2014-12-12 08:46:32 閱讀次數(shù):4001次

Song Jiang's rank list

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others)
Total Submission(s): 0    Accepted Submission(s): 0


Problem Description
《Shui Hu Zhuan》,also 《Water Margin》was written by Shi Nai'an -- an writer of Yuan and Ming dynasty. 《Shui Hu Zhuan》is one of the Four Great Classical Novels of Chinese literature. It tells a story about 108 outlaws. They came from different backgrounds (including scholars, fishermen, imperial drill instructors etc.), and all of them eventually came to occupy Mout Liang(or Liangshan Marsh) and elected Song Jiang as their leader. In order to encourage his military officers, Song Jiang always made a rank list after every battle. In the rank list, all 108 outlaws were ranked by the number of enemies he/she killed in the battle. The more enemies one killed, one's rank is higher. If two outlaws killed the same number of enemies, the one whose name is smaller in alphabet order had higher rank. Now please help Song Jiang to make the rank list and answer some queries based on the rank list.
 

Input
There are no more than 20 test cases. For each test case: The first line is an integer N (0<N<200), indicating that there are N outlaws. Then N lines follow. Each line contains a string S and an integer K(0<K<300), meaning an outlaw's name and the number of enemies he/she had killed. A name consists only letters, and its length is between 1 and 50(inclusive). Every name is unique. The next line is an integer M (0<M<200) ,indicating that there are M queries. Then M queries follow. Each query is a line containing an outlaw's name. The input ends with n = 0
 

Output
For each test case, print the rank list first. For this part in the output ,each line contains an outlaw's name and the number of enemies he killed. Then, for each name in the query of the input, print the outlaw's rank. Each outlaw had a major rank and a minor rank. One's major rank is one plus the number of outlaws who killed more enemies than him/her did.One's minor rank is one plus the number of outlaws who killed the same number of enemies as he/she did but whose name is smaller in alphabet order than his/hers. For each query, if the minor rank is 1, then print the major rank only. Or else Print the major rank, blank , and then the minor rank. It's guaranteed that each query has an answer for it.
 

Sample Input
5 WuSong 12 LuZhishen 12 SongJiang 13 LuJunyi 1 HuaRong 15 5 WuSong LuJunyi LuZhishen HuaRong SongJiang 0
 

Sample Output
HuaRong 15 SongJiang 13 LuZhishen 12 WuSong 12 LuJunyi 1 3 2 5 3 1 2


簡(jiǎn)單題。。


不多說了(淚啊)

要注意排序函數(shù)不能用strcmp,我記得之前用可以,,估計(jì)我記錯(cuò)了,誒


AC代碼:


#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <cstdlib> #include <cmath> #include <stack> #include <queue> #define LL long long #define max3(a,b,c) max(a,max(b,c)) #define min3(a,b,c) min(a,min(b,c)) using namespace std; struct node { char name[105]; int num; int major, minor; }out[210]; bool cmp(node a, node b) { if(a.num!=b.num)return a.num>b.num; else for(int i=0; ;) { if(a.name[i]!=b.name[i])return a.name[i]<b.name[i]; else i++; } } int main() { int n, m; while(scanf("%d", &n), n) { for(int i=0; i<n; i++) { scanf("%s %d", out[i].name, &out[i].num); out[i].major=1; out[i].minor=1; } sort(out, out+n, cmp); for(int i=0; i<n; i++) { printf("%s %d ", out[i].name, out[i].num); } int rank = 1; for(int i=1; i<n; i++) { rank++; if(out[i].num==out[i⑴].num) { out[i].major = out[i⑴].major; out[i].minor = out[i⑴].minor+1; } else out[i].major = rank; } scanf("%d", &m); for(int i=0; i<m; i++) { char b[105]; scanf("%s", b); for(int j=0; j<n; j++) { if(strcmp(b, out[j].name)==0) { if(out[j].minor==1) printf("%d ", out[j].major); else printf("%d %d ", out[j].major, out[j].minor); break; } } } } return 0; }


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 18视频网站在线观看 | 久久精品亚洲一区 | 国产精选视频 | 美日韩一区二区 | 国产一区二区三区四区 | 亚洲成人一二三 | 欧美日韩免费网站 | 精国品产一区二区三区有限公司 | 国产热re99久久6国产精品 | 久久最新 | 国产欧美日本在线 | 97久久久久久久久久久久 | av黄色免费| av看片| 国产一区二区在线播放 | 国产精品综合 | 日韩精品激情 | 精品久久久精品 | 成人免费激情视频 | 99re国产精品 | 亚洲成人福利 | 少妇精品久久久久www蜜月 | 国产精品久久久久婷婷二区次 | 精品自拍视频在线观看 | 黄色毛片网站 | 污视频免费在线看 | 日韩国产在线观看 | 男人av在线| 成人精品国产一区二区4080 | 成人高清 | 久久综合久久久 | 日韩欧美视频 | 日韩精品99| 日韩亚洲视频 | 在线观看欧美激情 | 久久久网站 | 国产精品免费一区 | 亚洲午夜一区二区 | 精品一区二区三区蜜桃 | 久久经典| 91一区二区在线观看 |