[BOJ 7253] Skaitmens keitimas
View as PDFDovydas pasakė Justui du natūraliuosius skaičius N ir M. Justo užduotis – iš N padaryti kuo didesnį skaičių. Tą jis gali padaryti keisdamas po vieną N skaitmenį taip, kad po kiekvieno keitimo skaičiaus dalybos iš M liekana padidėtų. Keičiant skaitmenį neleidžiama pirmojo skaitmens pakeisti nuliu (0).</p>
Pavyzdžiui, jei N = 1399 ir M = 11, tai N dalybos iš M liekana iš pradžių yra 1399 mod 11 = 2. Jei Justas pirmuoju žingsniu keistų paskutinįjį N skaitmenį, tai jį rinktųsi iš 0, 1, . . . , 6, nes šie variantai padidina liekaną:
| N | 1390 | 1391 | 1392 | 1393 | 1394 | 1395 | 1396 | 1397 | 1398 | 1399 |
|---|---|---|---|---|---|---|---|---|---|---|
| liekana | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0 | 1 | 2 |
Sakykime, kad jis pasirenka 3, taigi N dabar yra 1393. Jei Justas dabar keistų pirmąjį skaitmenį, tai vienintelis variantas yra 9 (atkreipkite dėmesį, kad neleidžiama pirmojo skaitmens pakeisti į 0):
| N | 1393 | 2393 | 3393 | 4393 | 5393 | 6393 | 7393 | 8393 | 9393 |
|---|---|---|---|---|---|---|---|---|---|
| liekana | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 10 |
Skaičiaus 9393 daugiau keisti negalima, nes jau gauta didžiausia įmanoma dalybos iš 11 liekana (9393 mod 11 = 10). Tai būtų Justo rezultatas.
Tačiau tai nėra geriausias įmanomas rezultatas. Geriausias rezultatas yra 9899, kurį galima pasiekti atliekant, pavyzdžiui, tokius žingsnius:
| N | 1399 → 1899 → 9899 |
|---|---|
| liekana | 2 → 7 → 10 |
Nustatykite, kokį didžiausią skaičių Justas gali pasiekti.
입력 형식
Vienintelėje eilutėje pateikiami skaičiai N ir M.
출력 형식
Išveskite didžiausią skaičių, kokį Justas gali pasiekti.
예제 입력 1
1399 11
예제 출력 1
9899
예제 입력 2
123 10
예제 출력 2
129
예제 입력 3
89 7
예제 출력 3
89
Comments