ノート 順列列挙、map.first

ABC_183を解いたとき調べたもののメモ
AtCoder Beginner Contest 183 - AtCoder

 

  • 順列の列挙

調べればいくらでも出るが、next_permutationを使う
競プロの基本事項確認~順列生成の方法~ - Qiita

vector<int> v = {1,2,3}; //全部を列挙するときは、はじめ昇順ソートしておく
do{
  //何かしら
}while(next_permutation(v.begin(),v.end())); //vは次の順列になる

 

  • mapのkey,valueの参照

firstとsecondなんですね。pairと同じか。

map<string,int> m;
m["test"]=1;

for( auto mi : m)  cout << mi.first << "," << mi.second << endl; // test,1