Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024
Problem description
Jasio napisal na tablicy swoją ulubioną
liczbę pierwszą. W jednym ruchu wolnu mu zamienić jedną jej cyfrę na
jakąś inną. Wolno mu przy tym tworzyć zera wiodące, jeśli chce, jednak
umówił się ze sobą, że po wykonaniu takiej operacji nadal chce mieć na
tablicy liczbę pierwszą. Nie wolno mu dopisywać nowych cyfr. Jasio
zastanawia się, czy może za pomocą ciągu takich operacji doprowadzić do
sytuacji, w której na tablicy znajdzie się ulubiona liczba Małgosi. A
jeśli się da - dobrze byłoby wiedzieć w ilu ruchach minimalnie można do
tego doprowadzić. Nie interesują go przy tym ciągi składające się z
więcej niż K ruchów. Dla niego
więcej niż K ruchów to tak
jakby się nie dało, bo więcej nie zapamięta. Pomóż mu!
Napisz program, który: wczyta ulubione liczby Jasia i Małgosi, wypisze
minimalną liczbę zmian pojedynczej cyfry (zgodnie z regułami opisanymi
powyżej), które doprowadzają do uzyskania liczby Małgosi z początkowej
liczby Jasia i wypisze wynik na standardowe wyjście.
Wejście
W pierwszym (jedynym) wierszu wejścia znajdują się trzy liczby naturalne N, M oraz K oddzielone pojedynczymi odstępami i oznaczające ulubionę liczbę Jasia, ulubioną liczbę Małgosi oraz liczbę ruchów, które może zapamiętać Jaś.
Wyjście
W pierwszym (jedynym) wierszu wyjścia powinna znaleźć się jedna
liczba całkowita - minimalna liczba ruchów niezbędna do uzyskania liczby
Małgosi.
W przypadku, gdy uzyskanie liczby Małgosi jest niemożliwe lub wymaga
więcej niż K ruchów należy
zamiast tego wypisać NIE
.
Ograniczenia
1 ≤ N, M < 109, 4 ≤ K ≤ 11
Przykład
Input | Output | |
|
|