| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Prolog] 3-х мерный лабиринт |
| Автор: alisa1988 5.12.2008, 19:42 |
| Ребят, помогите пожалуйста написать след-ю программу "Дан 3-х мерный лабиринт. Найти для него выход для змеи длиной N при условии, что эта змея может одновременно быть согнута в M раз". вот некоторые наработки(правда не мои)... сдвиг(Пред, Тек, След, Изломов):- Тек = k(X,Y,Z), приращение(I,J,K), X1=X+I, Y1=Y+J, Z1=Z+K, След=k(X1,Y1,Z1), not(Пред = След), внутриКуба(След), излом(Пред,Тек,След,Изломов). приращение(1,0,0). приращение(-1,0,0). %... шаг([A,B|L], [C,A,B|L1],K,K1):- сдвиг(B,A,C,Изл1), реверс(L, L2), L2 = [P,Q,R|_], сдвиг(P,Q,R,Изл2), L2 = [_|L3], реверс(L3,L1), K1=K+Изл1-Изл2. путь(Зм, Путь, Путь, _, _):- финиш(Зм). путь(Зм,ТекПуть, Путь, K, M):- шаг(Зм, Зм1, K, K1), K1 <= M, not(препятствие(Зм1)), not(принадл(Зм1, Путь)), путь(Зм1, [Зм1 | ТекПуть], Путь, K1, M). очень надо, помогите плиз... |