7 20 奧運排行榜 25分 (c STL)

2021-10-10 14:03:51 字數 1863 閱讀 7328

整體**是參考這位博主的(再次感謝這位博主,已經參考過他的好幾篇**了,再次推薦一下)

但是在處理熱門話題的時候 注意要將非字母和非數字的字元轉化成空格

然後注意處理之後 話題的前面和末尾 可能還有空格

然後 兩個分詞之間只能有乙個空格

map和set還有string太香了!

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

const

int maxnum =

1e5+5;

int n;

//保證乙個句子的熱門話題

struct topic

topics[maxnum]

;set cur_sentence_hot_topic;

set all_hot_topic;

map int> mp;

bool

cmp(topic a, topic b)

void

handle

(string sentence)

//再次處理,應該是用來處理 空格的問題

string res;

bool flag =

false

;for

(int j =

0; j < handle_str.

size()

; j++

)else

if(handle_str[j]

==' ')}

}//cout << '[' << handle_str << ']' << endl;

//cout << '' << endl;

cur_sentence_hot_topic.

insert

(res)

;//更新i讀取的位置

i = ed +1;

}//if

}//for

for(set

::iterator it = cur_sentence_hot_topic.

begin()

; it != cur_sentence_hot_topic.

end(

); it++)}

void

input()

}void

solve()

sort

(topics, topics + i, cmp)

; string ans1 = topics[0]

.name;

int ans2 = topics[0]

.cnt;

int ans3 =0;

for(

int j =

1; j < i; j++

)//ans1

cout <<

(char

)toupper

(topics[0]

.name[0]

);for(

int i =

1; i < ans1.

size()

; i++

) cout << topics[0]

.name[i]

; cout << endl;

//ans2

cout << ans2 << endl;

//ans3

if(ans3)

printf

("and %d more ...\n"

, ans3);}

intmain()

奧運排行榜(25 分)

這個題目需要注意的乙個地方就是,如果你想排序 那麼查詢就做到o 1 如果查詢用o n 那就不用排序,自己可以選擇下,做到查詢是o 1 比較麻煩需要各種對映才可以做到 每年奧運會各大 都會公布乙個排行榜,但是細心的讀者發現,不同國家的排行榜略有不同。比如中國金牌總數列第一的時候,中國 就公布 金牌榜 ...

7 53 奧運排行榜 (25 分

題目鏈結 每年奧運會各大 都會公布乙個排行榜,但是細心的讀者發現,不同國家的排行榜略有不同。比如中國金牌總數列第一的時候,中國 就公布 金牌榜 而美國的獎牌總數第一,於是美國 就公布 獎牌榜 如果人口少的國家公布乙個 國民人均獎牌榜 說不定非洲的國家會成為榜魁 現在就請你寫乙個程式,對每個前來諮詢的...

1 奧運排行榜 25分

每年奧運會各大 都會公布乙個排行榜,但是細心的讀者發現,不同國家的排行榜略有不同。比如中國金牌總數列第一的時候,中國 就公布 金牌榜 而美國的獎牌總數第一,於是美國 就公布 獎牌榜 如果人口少的國家公布乙個 國民人均獎牌榜 說不定非洲的國家會成為榜魁 現在就請你寫乙個程式,對每個前來諮詢的國家按照對...