3 / 3 / 0
Регистрация: 21.09.2014
Сообщений: 67
1

Логическая игра

09.10.2014, 18:40. Показов 1202. Ответов 3
Метки нет (Все метки)

Доброго времени суток) помогите с написанием кода
Миниатюры
Логическая игра  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2014, 18:40
Ответы с готовыми решениями:

логическая задача
Решить методом полного перебора задачу и разработать программу на CLOS (Lisp) для ее решения тем же...

Логическая задача на Lisp
Здравствуйте! Помогите с задачей, пожалуйста! Стол разграфлен на 6 квадратов, в каждом из которых,...

логическая задача на лиспе
Помогите пожалуйста решить задачу на лиспе. в конкурсе «Эрудит» в четверку лучших вошли: Дима,...

Логическая формула и совершенное число
Помогите пожалуйста написать программу: 1.Напишите функцию, (f F1), которая выдает логическую...

3
Заблокирован
11.10.2014, 03:08 2
задачка интересная, но такие вещи бесплатно не делаются, теб более что вы не указали чем именно вам помочь и на каком диалекте лиспа нужно это реализовать
0
430 / 384 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
12.10.2014, 09:01 3
Обратите внимание - на каждом ходу "дырка" перемещается в одну из четырех сторон. Какие-то перемещения разрешены, какие-то нет. Теперь, когда я сформулировал задачу таким образом, Вам это ничего не напоминает?
0
3 / 3 / 0
Регистрация: 21.09.2014
Сообщений: 67
03.11.2014, 13:43  [ТС] 4
Вот работающий код. Может быть, в дальнейшем понадобится людям)
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
(defun finish(K)
  (and
    (eq (caddar K) 'molochnik)
    (eq (car (cddadr K)) 'chainik)
  )
)
 
(defun moves(K)
  (let ( (A11 (caar K)) (A12 (cadar K)) (A13 (caddar K)) 
         (A21 (caar (cdr K))) (A22 (cadar (cdr K))) (A23 (caddar (cdr K))) 
       )
    (append
      (if (or (eq A11 'pusto) (eq A21 'pusto))
            (list (list (list A21 A12 A13) (list A11 A22 A23))))  ;replace 1.1 <-> 2.1
      (if (or (eq A12 'pusto) (eq A22 'pusto))
            (list (list (list A11 A22 A13) (list A21 A12 A23))))  ;replace 1.2 <-> 2.2
      (if (or (eq A13 'pusto) (eq A23 'pusto))
            (list (list (list A11 A12 A23) (list  A21 A22 A13))))  ;replace 1.3 <-> 2.3
      (if (or (eq A11 'pusto) (eq A12 'pusto))
            (list (list (list A12 A11 A13) (list  A21 A22 A23))))  ;replace 1.1 <-> 1.2
      (if (or (eq A12 'pusto) (eq A13 'pusto))
            (list (list (list A11 A13 A12) (list  A21 A22 A23))))  ;replace 1.2 <-> 1.3
      (if (or (eq A21 'pusto) (eq A22 'pusto))
            (list (list (list A11 A12 A13) (list  A22 A21 A23))))  ;replace 2.1 <-> 2.2
      (if (or (eq A22 'pusto) (eq A23 'pusto))
            (list (list (list A11 A12 A13) (list  A21 A23 A22))))  ;replace 2.2 <-> 2.3
    )  
  )
)
 
(defun start-list()
  '((chashka pusto chainik) (chashka chashka molochnik))
)
 
 
(defun pomen(K M S)
  (cond
    ((finish K) (reverse (cons K S)))
    ((null M) nil)
    ((member (car M) S :test #'equal) (pomen K (cdr M) S))
    (t
       (or 
          (pomen (car M) (moves (car M)) (cons K S))
          (pomen K (cdr M) S)
       )
    )
  )
)
 
 
(defun main()
  (pomen (start-list) (moves (start-list)) '())
)
 
(main)
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.11.2014, 13:43
Помогаю со студенческими работами здесь

Логическая задача.Миссионеры и Каннибалы
Добрый день. Помогите пожалуйста написать алгоритм данной задачи: Три миссионера и три каннибала...

Логическая задачка про гирьки!
Алеша, Витя и Игорь после уроков нашли на полу в кабинете физики маленькую гирьку. Каждый из них,...

Логическая задача про дома
помогите пожалуйста решить задачу на лиспе: На одной улице стоят в ряд 4 дома, в которых живут 4...

логическая задача про мам
помогите решить задачу на лиспе Три молодые мамы Анна, Ирина и Ольга, гуляя в парке со своими...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru