Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2012, 17:17   #1
iris_ka
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 44
Вопрос "рыба" в домино)

здравствуйте)
думаю,как написать программку, на Си. идей пока что мало.и они очень расплывчатые(
буду рада, если кто-нибудь сможет помочь:
задается число n. она должна считать,сколько существует разных последовательностей"рыба", которые возможны в домино с очками от 0 до n.
iris_ka вне форума Ответить с цитированием
Старый 27.04.2012, 19:11   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Первое, что приходит в голову - рекурсивный поиск.
Следует только предусмотреть, что одна и та же комбинация может как быть "рыбой", так и допускать продолжение (по правилам это решает играющий). В таких случаях, естественно, нужно посчитать комбинацию и продолжить рекурсию.
s-andriano вне форума Ответить с цитированием
Старый 27.04.2012, 19:30   #3
iris_ka
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 44
По умолчанию

пока до конца не пойму, как рекурсией сделать..
в данном случае игрок ничего не решает-нужно просто перебрать все возможные комбинации, приводящие к рыбе.(именно когда на руках больше нет костяшек с нужным номером)
я так подумала..что если замутить алгоритм поиска с возвращением?будет дерево, по которому будем продвигаться.наткнулись на рыбу-запомнили это и плюсанули к оличеству рыб,отступили на другую ветку.и так пока все не пройдем. правда пока не знаю,как это реализовать.
как раз здесь скорей всего и понадобится эта рекурсия.поиск.
а..вы наверное это и имели в виду?)
iris_ka вне форума Ответить с цитированием
Старый 27.04.2012, 20:29   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Все верно.
И именно такой алгоритм реализуется посредством рекурсии.
Основная рекурсивная процедура принимает массив оставшихся костяшек и состояние концов, перебирает все допустимые в данной ситуации кости (из оставшихся), каждой "делает ход" (изменяя массив оставшихся и состояние концов) и вызывает сама себя. Если допустимых костей нет, значит "рыба" - в этом случае учитываем ее и возвращаемся. Но, как я уже писал, рыба может быть и посреди игры - тогда ее тоже нужно посчитать (состояние концов одинаково).
s-andriano вне форума Ответить с цитированием
Старый 02.05.2012, 16:53   #5
iris_ka
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 44
По умолчанию

спасибо за идею)
попробую написать и ей воспользоваться)
iris_ka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
"Домино" на Turbo Pascal'е. Очень нужно! DruiD88 Помощь студентам 15 17.04.2010 13:57
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04