単調増加数 2018.5.26

問題の概要

正の整数のうち、b進数表示した時に各桁が左隣の数字よりも大きいような数のことを「基数bの単調増加数」と呼ぶ。
※ 一桁の数は全て単調増加数である。
例えば下表のような感じ。

数(n) 基数(b) n の b進数表示 基数bの単調増加数?
1 10 1 true
123 10 123 true
410 16 19a true
9 8 11 false
123 4 1323 false

ちなみに。
例えば 10進数だと、
123456789
よりも大きな単調増加数はない。

で。
基数 b と 正の整数 m を指定する。
小さい方から m 番目の「基数bの単調増加数」がいくつなのかを計算せよ。

入力

入力は、b と m がコンマ区切りで並んでいる。
16,333
は、小さい方から 333 番目の「基数16の単調増加数」を求めよということ。

出力

出力は、求める単調増加数を、b 進数で。
先ほどの例だと、小さい方から 333 番目の 単調増加数は 16 進数のままで表示すると 38e なので、
38e
を出力すれば良い。
ただ。2,100 のように、単調増加数の数よりも n が大きい場合には
-
を出力すること。

補足

サンプルデータ

# 入力 期待
0 16,333 38e
1 2,100 -
2 2,1 1
3 2,2 -
4 11,8 8
5 14,9 9
6 11,12 13
7 7,16 34
8 20,16 g
9 2,17 -
10 8,26 56
11 16,51 3c
12 3,77 -
13 2,100 -
14 9,110 1347
15 22,127 78
16 24,142 79
17 30,158 5s
18 20,213 139
19 6,216 -
20 9,244 235678
21 13,253 57c
22 19,265 19c
23 24,314 13k
24 16,333 38e
25 32,353 eo
26 25,490 1dg
27 26,498 1bd
28 10,500 2456789
29 10,543 -
30 3,897 -
31 11,1000 1345789a
32 9,1307 -
33 9,1412 -
34 26,1678 79e
35 8,1942 -
36 12,1950 234589ab
37 2,2245 -
38 18,2670 5ace
39 5,3013 -
40 5,3048 -
41 14,3099 157acd
42 27,3440 13hm
43 13,3698 235689ab
44 36,5592 dqs
45 10,9505 -
46 27,9833 49ej
47 16,10000 123467e
48 24,14090 14bfk
49 29,15270 5mnq
50 17,20000 23458cg
51 36,20000 37bc
52 25,24346 256bk
53 21,27815 146adi
54 25,28030 2aflm
55 25,34448 3cefi
56 36,44811 abpu

C/C++/Java 用のテストデータ

JSON 形式のテストデータ

data.json