![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 25
|
![]()
(подскажите алгоритм решения)
Суперзамок. Секретный замок для сейфа состоит из 10 расположенных в ряд ячеек, в которые надо ввести игральные кубики. Дверь открывается только в том случае, если на любых трёх соседних ячейках сумма точек на передних гранях кубиков равна 10. Нужно написать программу, которая разгадывает код замка, но с учётом того, что первые 2 числа уже заданны(я их рандомом задаю). Каким образом он должен подбирать и проверять эти числа? |
![]() |
![]() |
![]() |
#2 |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
![]() Код:
Код:
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" Последний раз редактировалось Mad_Cat; 03.01.2012 в 12:19. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Mad_Cat, однозначно зачёт!
я только собрался написать, что не для любых двух первых случайных чисел возможно решениие, как Вы уже написали решение, которое лишено этого недостатка! Респект! |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 25
|
![]()
Случайным образом задаются не только сами числа на кубиках, но и сами эти две ячейки. Они могут быть в любом месте с любым значением.
С++ не нужно, я через паскаль решаю |
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
1) проверяйте их на допустимость: любые две ячейки замка, индексы которых отличаются меньше, чем на три (на один == соседние, или на два - через одну) должны в сумме aN+AK = S, где 4<=S <=9 - иначе решения НЕТ 2) если эти две ячейки не расположены рядом - решений может быть БОЛЕЕ чем одно. Ну и последнее. основой цикл решения Вам уже дан. Допишите код для двух вышеупомянутых ситуаций и вуаля - задача решена! |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 25
|
![]()
А почему если сумма ячеек лежит вне от 4 до 9 то решений нет? если сумма равна 10 или 9, понятно что нельзя, ну а 2 и 3 можно же.
Допустим если первые две ячейки 11 или 12 могут быть решения вот например: 1181181181 1271271271 потом если эти ячейки будут не рядом, а в разных местах, то уже такой вариант решения не подойдет Код:
Последний раз редактировалось *cash*; 05.01.2012 в 19:46. |
![]() |
![]() |
![]() |
#7 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Цитата:
p.s. Кстати, если сумма близких кубиков лежит в диапазоне от 4 до 9 - то решение есть. Т.е. если сумма равна 9, тогда подходит решение с кубиком с гранью 1... |
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двумерные массивы(массивы указателей на массивы) | krytishka99 | Помощь студентам | 1 | 29.12.2011 19:51 |
указатели на массивы и массивы указателей | blacktener | Общие вопросы C/C++ | 16 | 13.06.2011 20:45 |
Динамические массивы и массивы варианты | N@stya | Помощь студентам | 0 | 11.06.2010 21:09 |
С++, Массивы, динамические массивы. | -Sunshine- | Помощь студентам | 1 | 19.04.2010 02:17 |
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент | LyaLya | Помощь студентам | 15 | 20.12.2009 14:12 |