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ż czterech ruchów. Dla niego więcej niż cztery ruchy 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ę dwie liczby naturalne N i M oddzielone pojedynczymi odstępami i oznaczające ulubionę liczbę Jasia oraz ulubioną liczbę Małgosi.
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ż czterech ruchów należy zamiast tego wypisać
NIE
.
Ograniczenia
1 ≤ N, M < 109
Przykład
Input | Output | |
|
|