Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу разобраться с рекурсией, укладка плитки 
:(
    Опции темы
cardinal
Дата 16.2.2006, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Да я вообще логоки не понял пока... smile


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Jilian
Дата 16.2.2006, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 24.1.2005
Где: Минск

Репутация: нет
Всего: нет



Дело в том, что эту задачу надо ОБЯЗАТЕЛЬНО решить рекурсивно. А с рекурсией я не могу разобраться конкретно в этой задаче. Так что не надо осуждать моё название, ОК? -)
Спасибо всем большое за посты. Сейчас со всем ознакомлюсь. Ясно, что при нечетных N решений не будет. Но уже при N=4, таких плиток много... Сегодня на лекциях сидела рисовала... Проверить правильность сложно...

2 cardinal
Не "сказал", а "сказала". -)
Добавлено @ 20:40
Цитата

а то, что творится в последнем, бывает 8-ми видов (каждая ячейка может быть покрыта или нет)


допустим 0 - ничего нету, 1 - это кусочек плитки 2Х1, а 2 - кусочек плитки 2Х2
2 0 1 0 1 0
2 2 1 1 0 0
0 2 0 1 0 1
(1) (2) (3) (4) (5) (6)

Вопросик:
зачем же нам 7-я и 8-я ситуации?
1
0
1 (7)
это невозможная ситуация, т.к. при её создании укладку нельзя завершить
а рассматриваение
0
0
0 (8)
на мой взгляд не имеет смысла

Это сообщение отредактировал(а) Jilian - 16.2.2006, 20:29
PM MAIL   Вверх
cardinal
Дата 16.2.2006, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Цитата(Jilian @ 16.2.2006, 18:26 Найти цитируемый пост)
Не "сказал", а "сказала". -)

Пардон. smile


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
maxim1000
Дата 16.2.2006, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата(Jilian @ 16.2.2006, 19:26 Найти цитируемый пост)
, а 2 - кусочек плитки 2Х2

а какая разница, кусочек какой плитки покрывает ячейку
важно покрыта она или нет

Цитата(Jilian @ 16.2.2006, 19:26 Найти цитируемый пост)
это невозможная ситуация, т.к. при её создании укладку нельзя завершить

да, нельзя, просто упомянул ее для полноты в начале рассуждения
а потом, когда выписывались выражения для интересующих нас ситуаций эти не участвовали...

Цитата(Jilian @ 16.2.2006, 19:26 Найти цитируемый пост)
на мой взгляд не имеет смысла

опять же чисто для удобства, в конце она пропадает...

просто если ее не рассматривать, придется сразу выводить соотношения между n-2-м и n-м шагами... возможно, это даже и лучше, но тогда я рассуждал через сотношения между n-1-м и n-м шагами...

в конце концов, можно посмотреть на
Цитата(maxim1000 @ 16.2.2006, 00:50 Найти цитируемый пост)
f(n,7)=5*f(n-2,7)+4*f(n-2,1)
f(n,1)=1*f(n-2,7)+2*f(n-2,1)

не обращая внимания на промежуточный этап
может, так даже и проще получится
рассуждения не всегда получается сразу вести кратчайшим путем smile

Цитата(cardinal @ 16.2.2006, 16:51 Найти цитируемый пост)
Да я вообще логоки не понял пока...

логика простая - выделяем несколько последних операций так, чтобы количество способов ожно было легко посчитать (в данном случае я пошел по столбикам), а все остальное сводим к решению задачи для меньших n...


--------------------
qqq
PM WWW   Вверх
Jilian
Дата 16.2.2006, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 24.1.2005
Где: Минск

Репутация: нет
Всего: нет



Но дело еще в том, что прога должна пройти по времени и сложности алгоритма... Т.к. прогу проверяет не препод, а система.
PM MAIL   Вверх
Jilian
Дата 18.2.2006, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 24.1.2005
Где: Минск

Репутация: нет
Всего: нет



Вот правильное решение:
Код

unsigned long F(unsigned int i, unsigned int a1, unsigned int a2, unsigned int a3)
{ 
    if((i == 2) && (a1 == 0) && (a2 == 0) && (a3 == 0))
        return 5;

    if(((i == 0) && (a1 == 0) && (a2 == 1) && (a3 == 1)) ||
       ((i == 0) && (a1 == 1) && (a2 == 1) && (a3 == 0)))
        return 1;

    if((a1 == 0) && (a2 == 0) && (a3 == 0))
        return 3 * F(i-2,0,0,0) + F(i-2,0,1,1) + F(i-2,1,1,0);

    if((a1 == 1) && (a2 == 1) && (a3 == 0))
        return 2 * F(i-2,1,1,0) + F(i,0,0,0);

    if((a1 == 0) && (a2 == 1) && (a3 == 1))
        return 2 * F(i-2,1,1,0) + F(i,0,0,0);

    return 0;
}

PM MAIL   Вверх
Jilian
Дата 22.2.2006, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 24.1.2005
Где: Минск

Репутация: нет
Всего: нет



Интересно, а как оценить сверху чисто таких расстановок плиток?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0453 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.