В настольной игре фишка должна дойти с клетки номер 1 до клетки номер N. На каждом ходу игрок бросает кубик и двигает фишку на столько клеток вперёд, - вопрос №2220392
какое число выпало на кубике. Попасть нужно ровно в клетку N, если игрок «перешагнул» её, то начинает игру заново.
Некоторые клетки поля помечены как «win», попав на такую клетку в результате броска кубика, фишка перемещается в клетку с большим номером. Также есть клетки поля, помеченные как «fail» — попав на неё в результате броска кубика, фишка перемещается в клетку с меньшим номером. При этом перемещение по «win» или «fail» происходит один раз, то есть даже если в результате такого перемещения фишка попала на клетку, помеченную «win» или «fail», то она остаётся в ней до следующего броска кубика. Если из клетка с номером N помечена как «win» или «fail», то переход тоже осуществляется и игра не заканчивается.
Группа студентов собралась сыграть в настольную игру на встрече, однако, ни у кого не нашлось кубика. Зато ноутбуков было в достатке и Васю попросили написать программу, которая будет генерировать случайные числа от 1 до 6.Но Васе очень нравится Маша и он хочет, чтобы ей выпадали такие числа, которые приведут её фишку к победе за наименьшее число ходов.
На рисунке сплошными стрелками показаны ходы по броску кубика, а пунктирными — переходы «win» или «fail».
Формат входных данных
В первой строке записано натуральное число N (1 ≤ N ≤ 100000) — количество клеток поля.
В следующей строке записано N натуральных чисел Wi (1 ≤ Wi ≤ N). Число Wi обозначает, что попав в клетку i в результате броска кубика, фишка перемещается в клетку Wi.
Формат результата
Выведите число K — наименьшее количество ходов.
В следующей строке выведите K чисел от 1 до 6 — какие числа должны выпадать на кубике для того, чтобы фишка дошла от клетки 1 до клетки N за K ходов. Если решений несколько — выведите любое из них. Гарантируется, что решение существует.
Примеры Входные данные 9 1 2 1 7 5 4 4 7 9 Результат работы
2 3 2
Добрый день. Меня заинтересовал ваш ответ "Ответил Вам в технологии/C++" на вопрос http://www.liveexpert.org/topic/view/2220392-v-nastolnoj-igre-fishka-dolzhna-dojti-s-kletki-nomer-1-do-kletki-nomer-n-na-kazhdom-hodu-igrok-brosaet-kubik-i-dvigaet-fishku-na-stolko. Можно с вами обсудить этот ответ?