Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 13

Решение задания С3 на программном уровне

29.05.2011, 23:14. Показов 2307. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, нужно посмотреть код такой программки. Она должна составить дерево игры для следующего задания:
Два игрока играют в следующую игру. Перед ними лежат две кучки камней, в первой из которых 3, а во второй – 4 камня. У каждого игрока неограниченно много камней. Игроки ходят по очереди. Ход состоит в том, что игрок или увеличивает в 2 раза число камней в какой-то куче, или увеличивает на 4 число камней в одной из куч. Игрок, после хода которого общее число камней в двух кучах становится не менее 25, проигрывает. Кто выигрывает при безошибочной игре обоих игроков – игрок, делающий первый ход, или игрок, делающий второй ход?

Собственно вот исходник, но "дерево", если его можно назвать деревом, уж очень обширное, и там много лишних ходов, как лучше его упростить. Или возможно есть какие-то другие идеи по решению данной задачи?

Pascal
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
const
  MAXLEVEL = 100; {Максимальное число ходов}
  MAXSTEPS = 4;  {Число вариантов хода}
  x0 = 3;
  y0 = 4;
  hod: array [1..MAXSTEPS, 1..2] of integer = ({варианты ходов}
       (2, 1), (1, 2), (4, 0), (0, 4)                {в виде изменения количества камней}
  );               
 
var
  game: array [1..MAXLEVEL, 1..2] of integer;
 
 
function endofgame(l: integer): boolean;
begin
  endofgame := game[l, 1] + game[l, 2] > 24;
end;
 
procedure print(l: integer);
var
  i: integer;
begin
  writeln;
  for i := 1 to l do write( '(', game[i, 1]:2, ',', game[i, 2]:2, ') ');
  if l mod 2 = 0 then write( '2 win')
  else write( '1 win');
end;
 
procedure step(x, y, l: integer);
{x,y - координаты точки, l - уровень просмотра}
var
  i: integer;
begin
  game[l, 1] := x;
  game[l, 2] := y;
  if endofgame(l) then print(l)
  else for i := 1 to MAXSTEPS do
      if i < 3 then step(x * hod[i, 1], y * hod[i, 2], l + 1)
      else step(x + hod[i, 1], y + hod[i, 2], l + 1);
end;
 
begin
  step(x0, y0, 1);
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.05.2011, 23:14
Ответы с готовыми решениями:

Включение и отключение Edit Control на программном уровне
Доброго времени суток всем, помогите решить одну проблему, вся суть которой заключается во включение и отключение Edit Control при...

Как создавать функции PHP на программном уровне?
Не такие типо &lt;?php function redirect(){}; ?&gt; а прям с ассамблера ил с помощью какой-нибудь программки создавать. Причина:Есть...

На программном уровне активному листу запретить "раздвигать столбцы" Excel
День добрый! Вопрос такой, как на программном уровне активному листу запретить &quot;раздвигать столбцы&quot;. Смысл в том что я применил...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.05.2011, 23:14
Помогаю со студенческими работами здесь

Решение задания
Составить таблицу, содержащую информацию о стоимости пяти наименований товара в течение второй половины года. В таблицу включить данные на...

Решение задания
шйфщъсюупыфпхзэчйфйхйзгяёвефнйъсеушдзэдфсьчйусшйффпдйндчевйфрпвйфйбрпеъейфщъеыйфдфдгчсыкгсщсшсчеэксмнбсзэсдшзвснсщчйфеыешйюзкыйцдшздщсбдвъйч...

Бегущие огни
Добрый день, помогите с кодом С по лабораторной работе, Светодиоды подключены к порту D . Кнопки не используются. Светодиоды...

Создает на n - уровне вложенный список, элементом которого на самом нижнем уровне является n
Я решил задачу так: CL-USER 1 &gt; (defun f (l n) (cond (( eq n 0) l) ((null l) (f (list n) (- n 1))) (t (f (cons...

Решение простого задания
Вот задание: Дано целое число N (1 ≤ N ≤ 26). Сформировать строку, содержащую N первых прописных (т.е. заглавных) букв латинского...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru