kenchanbomber / competitive_programming_libraries

A convenient library for competitive programming.
0 stars 0 forks source link

D - Send More Money #12

Open kenchanbomber opened 5 months ago

kenchanbomber commented 5 months ago

英語一文字に対して数字一文字が対応する。 これを全探索する。計算量は10! ~= 3 * 10^6

kenchanbomber commented 5 months ago

文字列をpurmutateしていくと数字の表に置き換えられる。

ただし、文字列の長さを10にしないとすべての数字に当てはめるパターンを網羅できない。

kenchanbomber commented 5 months ago

数字の配列をpermutateする方が綺麗。

また、文字列を数字にencodeする処理は以下のように綺麗に書ける。

ll encode(string s, unordered_map<char,int>& mp) {
    ll res = 0;
    for (char& c : s) res = res * 10 + mp[c];
    return res;
}