Friend Numbers (UVa Live Archive Latin America - Mexico and Central America 2007)

http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=293&page=show_problem&problem=2013

問題

Nに含まれる桁の数値を全て含む数値をFriend Numbersと呼ぶ。範囲[A,B]の中でK番目のFriend Numbersを求めよ。
1

解法

dp[上界が存在する][下界が存在する][使った数値][何桁目]を状態にしたO(2*2*2^10*100*10)のdp。Aの桁数がBの桁数よりも小さい場合はleading 0にする。Nに0が含まれるとか、leading 0の際に0を使ったとみなさない事とかに注意。