Модераторы: Alx, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> задача о замке 
:(
    Опции темы
Aellipsis
Дата 10.10.2011, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Задано  прямоугольное  поле,  разбитое  на  ячейки.  Некоторые  из ячеек  закрыты,  а  некоторые  открыты.  При  изменении  состояния какойлибо  ячейки,  т.е.  при  ее  закрытии  или  открытии,  все  ячейки, находящиеся  на «кресте» (на  общей  с  ней  вертикали  или  на  общей горизонтали),  меняют  свое  состояние  на  противоположное.  Задача состоит  в  том,  чтобы  путем  переключения  определенных  ячеек открыть  замок,  т.е.  сделать  все  его  ячейки  открытыми.  Перебором данную  задачу  даже  при  относительно  небольших  размерах  замка решить  затруднительно. Однако  она  просто  решается  даже  в  уме  по алгоритму,  основанному  на  существовании  инварианта  в системе замка.

Знает ли кто эту задачу?
PM MAIL   Вверх
Akina
Дата 10.10.2011, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

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



Обычная игра, одна из разновидностей Quinto...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
fobbos08
Дата 18.10.2011, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Задачка интересная, уже несколько дней думаю как ее записать, вот только не могу придумать. Aellipsis можешь написать принцип решения? Прост очень интересно знать как она решается. smile 
PM MAIL   Вверх
Akina
Дата 19.10.2011, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата(fobbos08 @  19.10.2011,  00:18 Найти цитируемый пост)
очень интересно знать как она решается.

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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Rigid
Дата 19.10.2011, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Алгоритм следующий:
1) запоминаем все ячейки с открытым замком
2) переключаем замки во всех ячейках которые запомнили в пункте 1
3) проверяем, если замок открыт - все ок, иначе двигаем на пункт 1

Обычно решение находится за одну-две итерации
PM MAIL   Вверх
fobbos08
Дата 19.10.2011, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо
буду пробовать
PM MAIL   Вверх
fobbos08
Дата 24.10.2011, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



возник вопрос, скорее всего я что то не так делаю, но все же
101
101
010
у этого варианта есть решение? так как у меня не получается его решить
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Интересные и занимательные задачи по программированию | Следующая тема »


 




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


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

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