map的簡單例題

2021-10-09 04:54:10 字數 1291 閱讀 7026

a - let the balloon rise

題意:輸入n種顏色,輸出出現最多次數的顏色。

思路:建立乙個以顏色為key,出現次數為value的map,每次輸入一種顏色都給對應的value加1。注意map的初始化。

**:

#include

using

namespace std;

int n;

string st;

mapint>mp;

intmain()

} cout<}}

b - gunner

題意:有n隻鳥,每只鳥的高度為h[1],h[2],h[3]…h[n],獵人可以射擊m次,每次射擊的高度為q[1],q[2],q[3]…q[m],問每次射擊能擊落多少隻鳥。如果射擊高度為h,那麼在高度為h的鳥都會被擊落,無論多少只。

思路:建立乙個以鳥的高度為key,鳥的數量為value的map。射擊時只用輸出當前高度的鳥的總數就可以了,注意一次射擊完之後當前高度的鳥為0只。建議用cin要關閉同步。

**:

#include

using

namespace std;

const

int maxn=

1000010

;int n,m,h[maxn]

,q[maxn]

;map<

int,

int>mp;

intmain()

for(

int i=

1;i<=m;i++)}

}

c - word amalgamation

題意:給一串字串字典,再給一串字串,求字典中是否存在與字串字元相同的字串。

思路:建乙個map,以字典中的字串為key,對字典中的字串進行排序存進value,然後對要判斷的字串進行排序,然後用乙個迭代器遍歷,如果map中有對應的value值,那就輸出key,否則輸出"not a valid word"。

**:

#include

using

namespace std;

string st1,st2;

mapmp;

intmain()

while

(cin>>st2&&st2!=

"******")}

if(!flag)

cout<<

"******"

<}}

map使用及例題

map 的使用 注意first 為key值 second 是value值 然後就是在杭電上頭檔案對於map的map iterator i 的操作。使用 include會編譯錯誤。則不會 對於hdu1263,由於map儲存是按key值的字母順序排序,所以這裡免去了排序的步驟。stl很強大!hdu100...

列舉的簡單例題

描述 給你n根火柴棍,你可以拼出多少個形如 a b c 的等式?等式中的a b c是用火柴棍拼出的整數 若該數非零,則最高位不能是0 用火柴棍拼數字0 9的拼法如圖所示 注意 加號與等號各自需要兩根火柴棍 如果a b,則a b c與b a c視為不同的等式 a b c 0 n根火柴棍必須全部用上 分...

UVa156Map入門例題

include include include include includeusing namespace std vectorwords mapcnt string repe const string s for int i 0 i1.輸入的字串將其先進行標準轉換後存放在map中 a.轉換成小寫...