蒜頭君的藏書(對映)

2021-10-03 04:47:30 字數 811 閱讀 2597

蒜頭君有個學霸同學,家中藏書可真謂汗牛充棟。小明想考一考學霸,給學霸出了一道難題。小明問這麼多書籍,到底有多少本不一樣的書,每樣書的名字是什麼?(因為有的書名是一樣的。所以我們把他們視為同樣的書)學霸就是學霸,張口就說出來答案。不知道你是否也是學霸?一起來挑戰下?

輸入格式

第一行是書籍總量n(1<=n<=10^6)。然後有n行書名(書名一乙個英文本串,字串的長度小於100.中間沒有空格)。

輸出格式

第一行是不同書籍的數量,然後按照書名的字典序輸出書名的數量。

樣例輸入

4.english

math

chinese

chinese

樣例輸出

3chinese 2

english 1

math 1

分析:由於對映是預設按字典序排序,而且不存放重複的鍵,所以我們可以宣告乙個對映,map< string,int >string用來裝書名,int用來記錄書的數量

**:

#include

using namespace std;

mapint>mp;

intmain()

cout

::iterator it=mp.

begin()

;it!=mp.

end(

);it++

)return0;

}

我的藏書清單

作業系統及計算機體結構 作業系統 精髓與設計原理 3rd 計算機組織與設計 軟體硬體介面 自己動手寫作業系統 unix作業系統 linux unix程式開發基礎教程 深入理解linux kernel linux裝置驅動程式 linux作業系統核心實習 unix作業系統設計 4.4bsd作業系統設計和...

蒜頭君面試

題目 問題描述 蒜頭君來蒜廠面試的時候,曾經遇到這樣乙個面試題 給定 n 個整數,求裡面出現次數最多的數,如果有多個重複出現的數,求出值最大的乙個。當時可算是給蒜頭君難住了。現在蒜頭君來考考你。輸入格式 第一行輸入乙個整數n 1 n 100000 接下來一行輸入n個 int 範圍內的整數。輸出格式 ...

蒜頭君下棋

蒜頭君下棋 共一行,兩個整數nn和mm 1 leq n m leq 10001 n,m 1000 代表棋盤一共有 nn 行 mm 列。輸出乙個整數,代表棋盤上最多能放的馬的數量。樣例輸入1複製 2 4樣例輸出1複製 4樣例輸入2複製 3 4樣例輸出2複製 6 1 當棋盤只有一行時,棋盤上全放上棋子即...