std::mapについてシンプルに
今回はstd::mapについて。
使いどころがよくわからなくなるmapですが、どうやらキーと値が違う場面だと書きやすいようです。
そしてたまに見かけるアロー演算子はこうやって使うみたいです。
例題 N個の文字列が与えられる。そのN個の文字列を辞書順で早い順から出現した回数とともに出力しなさい。
ソースコードで表すとこんな感じ
#include <iostream> #include <string> #include <algorithm> #include <map> using namespace std; int main() { int N; cin >> N; map<string, int>mp; for (int i = 0; i < N; i++) { string S; cin >> S; mp[S]++; }//ここまで入力 for (auto itr = mp.begin(); itr != mp.end(); ++itr) { cout << itr->first << ' ' << itr->second << endl; } }
mapが使いやすい問題
B - Two Colors Card Game