Подорож додому п’яниці
У цьому виклику ви повинні написати програму, яка імітує п'яницю, що спотикається додому з бару.
Вхід:
Вхід буде матрицею суміжності (представляє спрямований графік), який представляє шляхи, якими може пройти п'яниця. У кожній локації п'яниця вибере навмання один шлях (кожен варіант має приблизно рівний шанс і не залежить від попереднього вибору), який слід пройти.
Припустимо, що п'яниця завжди починається біля бару (перший рядок у матриці суміжності).
Якщо п’яниця потрапить у тупик, можна припустити, що він або проїхав додому, або був заарештований за публічне сп’яніння, і програма повинна повернути свій шлях.
Можна припустити, що графік завжди буде містити принаймні один безвихідь.
Можна також припустити, що п'яниця завжди зможе вийти з смуги (перший рядок не буде всіма нулями) і що, якщо п'яниця буде застрягла в місці, то рядок буде представлений усіма нулями.
Вихід:
Вихідним шляхом буде шлях, який пропив п'яниця в дорозі додому. Значення для місць розташування можуть бути нульовими або індексованими.
Приклади:
Input
[1,0,1,1]
[0,0,0,0]
[1,0,0,0]
[1,1,1,1]
Possible Outputs
[0,2,0,3,2,0,0,3,1]
[0,3,0,3,1]
Input
[0,1,1,1,0,1]
[1,0,1,0,1,1]
[0,0,0,0,0,0]
[0,0,0,0,0,1]
[1,0,0,0,0,0]
[0,0,0,0,0,0]
Possible outputs
[0,1,5]
[0,5]
[0,1,4,0,2]
[0,3,5]
[0,3,0,1,4,0,5]
Deterministic path:
Input
[0,0,1,0]
[0,0,0,1]
[0,1,0,0]
[0,0,0,0]
Output
[0,2,1,3]
[ '1011', '0000', '1000', '1111' ]
?
i
з усіма нулями, крім стовпця i
?
0
посилання на 1,2,3,5
, але останній випуск продукції це походить від 0
до4