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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2007, 14:28   #1
Night
Новичок
Джуниор
 
Регистрация: 20.01.2007
Сообщений: 2
По умолчанию Задача про переключатели

Подскажите, пожалуйста, алгоритм решения:

Есть N лампочек и M переключателей, каждый из которых какие-то лампочки переключает, а какие-то нет. Сначала часть лампочек включена. Договоримся горящие лампочки обозначать 1, а выключенные - 0. Для переключателей будем писать 1, если переключатель меняет состояние данной лампочки, и 0, если не меняет. Тогда любой переключатель можно представить строкой из N нолей и единиц. Начальное и конечное состояние лампочек также закодируем строкой из 0 и 1. «Применение» переключателя к лампочкам приводит к тому, что включенные лампочки становятся выключенными, а выключенные - включенными (естественно, это справедливо только для лампочек, к которым есть доступ от этого переключателя).

Напишите программу, которая определяет, какие переключатели нужно применить, чтобы лампочки перешли в конечное состояние.

Входные данные: Вводятся числа N и M (1=50, 1=50). Вводится строка, характеризующая начальное состояние лампочек. Вводится строка, характеризующая конечное состояние лампочек. Вводится M строк, характеризующих переключатели.

Выходные данные: Номера переключателей, которые нужно применить, причем каждый переключатель можно применить не более 1 раза, либо сообщение "Нет решения".

Пример: Входные данные: 5 3 10010 11000 11100 10001 10110 Выходные данные: 1 3

Последний раз редактировалось Night; 20.01.2007 в 14:32.
Night вне форума Ответить с цитированием
Старый 21.01.2007, 14:14   #2
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

В принципе, задача не так уж и сложна, я вот только не понял про входящие данные: N и M - можно поточнее?
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 21.01.2007, 14:30   #3
AVer
Андрей
Форумчанин
 
Аватар для AVer
 
Регистрация: 21.11.2006
Сообщений: 457
По умолчанию

Цитата:
Сообщение от SuperVisor Посмотреть сообщение
В принципе, задача не так уж и сложна, я вот только не понял про входящие данные: N и M - можно поточнее?
Ответ в предидущем посте:

Цитата:
Сообщение от Night
Есть N лампочек и M переключателей...
ICQ: 5311314
[SIGPIC][/SIGPIC]
AVer вне форума Ответить с цитированием
Старый 21.01.2007, 14:58   #4
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

1)
10010 XOR 11000 = 01010
2) Ищем комбинацию переключателей,
для которой Xor (поэлементный)
дает состояние 01010

[проблема в том, что сначала комбинируем по 2,
ответа нет - по 3, и так до 50 - но это полный перебор]
у кого есть другой принцип решения ?
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 21.01.2007, 15:28   #5
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Цитата:
Сообщение от AVer Посмотреть сообщение
Ответ в предидущем посте
Прошу прощения...
Цитата:
Сообщение от Virtson Посмотреть сообщение
у кого есть другой принцип решения ?
Скорее всего в данной ситуации это - единственный выход.
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 21.01.2007, 18:15   #6
Night
Новичок
Джуниор
 
Регистрация: 20.01.2007
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Virtson Посмотреть сообщение
1)
10010 XOR 11000 = 01010
2) Ищем комбинацию переключателей,
для которой Xor (поэлементный)
дает состояние 01010

[проблема в том, что сначала комбинируем по 2,
ответа нет - по 3, и так до 50 - но это полный перебор]
у кого есть другой принцип решения ?
У меня такая идея была, но здесь нам придется перебирать очень много вариантов. Наверняка существует более совершенный способ, ведь для того подобные задачи и предназначены
Night вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по ТП. GE076 Помощь студентам 11 07.12.2007 19:29
триггерные кнопки и кнопки переключатели в DELPHI MARGO Помощь студентам 3 12.11.2007 17:35
Переключатели в CheckListBox ivp88 Компоненты Delphi 2 06.05.2007 09:12