時間限制: 1 sec 記憶體限制: 128 mb
提交: 26 解決: 21 [
提交][
狀態][
討論版]
「八一三」淞滬抗戰爆發後,***幾次準備去上海前線視察和指揮作戰。但都因為寧滬之間的鐵路和公路遭到了敵軍的嚴密封鎖,狂轟濫炸,一直未能成行。
***特科組織,其主要任務是保衛***的安全,了解和掌握敵方的動向。經過一段時間的監聽,諜報組獲取了敵方若干份密報,經過分析,發現密文中頻繁出現一些單詞,情報人員試圖從單詞出現的次數中,推出敵軍的行動計畫。
請你程式設計,快速統計出頻率高的前十個單詞。
密文是由英語單詞(小寫字母)組成,有若干段。單詞之間由乙個或多個空格分開,自然段之後可以用乙個「,」或「。」表示結束。整個內容的單詞數量不超過10000,不同的單詞個數不超過500.
輸出佔10行,每行乙個單詞及出現的次數,中間乙個空格。要求按頻率降序輸出,出現次數相同的單詞,按字典序輸出。
樣例輸入
shooting is at shanghai station. shooting must
be carried out. shooting shooting.
shanghai station must be surrounded, at least a
team of one hundred soldiers to fight. twenty
five soldiers shooting in the north, twenty five
soldiers shooting in the south, twenty five
soldiers shooting in the east, twenty five
soldiers shooting in the west.
樣例輸出
shooting 8解題思路:soldiers 5
five 4
in 4
the 4
twenty 4
at 2
be 2
must 2
shanghai 2
首先定義map的迭代器,定義結構體用來存放單詞和單詞所要出現的頻率。用map來統計密文中的單詞,用map迭代器來統計單詞的數量。然後按照頻率的降序以及字典序輸出頻率前十的單詞,以及它的頻率。
注意誤區:
讀入是以檔案來讀入的。輸出時是按其頻率降序和字典序輸出的。
**:
#include #include #include #include #include #include using namespace std;
struct node
word[1000];
int n=0;
int cmp(node w1,node w2)
}int main()
for(it=m.begin(); it!=m.end(); it++)
sort(word,word+n,cmp);
for(int i=0; i<10; i++)
return 0;
}
第十屆ACM省賽 A 諜報分析
時間限制 1 sec 記憶體限制 128 mb 八一三 淞滬抗戰爆發後,幾次準備去上海前線視察和指揮作戰。但都因為寧滬之間的鐵路和公路遭到了敵軍的嚴密封鎖,狂轟濫炸,一直未能成行。特科組織,其主要任務是保衛 的安全,了解和掌握敵方的動向。經過一段時間的監聽,諜報組獲取了敵方若干份密報,經過分析,發現...
第十屆河南省acm省賽 諜報分析
八一三 淞滬抗戰爆發後,幾次準備去上海前線視察和指揮作戰。但都因為寧滬之間的鐵路和公路遭到了敵軍的嚴密封鎖,狂轟濫炸,一直未能成行。特科組織,其主要任務是保衛 的安全,了解和掌握敵方的動向。經過一段時間的監聽,諜報組獲取了敵方若干份密報,經過分析,發現密文中頻繁出現一些單詞,情報人員試圖從單詞出現的...
河南省第十屆ACM 省賽 A 諜報分析
題目描述 八一三 淞滬抗戰爆發後,幾次準備去上海前線視察和指揮作戰。但都因為寧滬之間的鐵路和公路遭到了敵軍的嚴密封鎖,狂轟濫炸,一直未能成行。特科組織,其主要任務是保衛的安全,了解和掌握敵方的動向。經過一段時間的監聽,諜報組獲取了敵方若干份密報,經過分析,發現密文中頻繁出現一些單詞,情報人員試圖從單...