ウホウホゴリラッホ

主に勉強したことをまとめていきます。twitter:@pytran3

next_permutationの使い方

結論

これを見ろ vivi.dyndns.org

実装例

  sort(all(a));
  ll ans = 1e12;
  do {
    ll tmp = 0;
    REP(i, a.size()-1) {
      tmp += g[a[i]][a[i+1]];
    }
    ans = min(ans, tmp);
  } while(next_permutation(all(r)));  //辞書順に取り出す。辞書順最初に戻るタイミングでfalseを返却する。
  cout << ans << endl;