Official
D - Send More Money Editorial by kyopro_friends
文字が \(11\) 種類以上存在するとき、明らかに UNSOLVABLE
です。そうでないときを考えます。
覆面算を真面目に解くよりも、どの文字にどの数字を割り当てるかを全探索し、各割り当て方について \(N_1+N_2=N_3\) を満たしているか確かめる方が実装が容易と思われます。
数字の割り当て方は最大 \(10!=3628800\) 通りであり、割り当て方を決めたときそれが \(N_1+N_2=N_3\) を満たしているかを確認することは数十回程度の四則演算で求めることができるので、実行時間制限には十分間に合います。
各文字列の先頭の文字には \(0\) を割り当てられないことに注意してください。
posted:
last update: