|
из тестового задания
|
|||
---|---|---|---|
#18+
Aleksandr SharahovDima T, на самом деле это чрезвычайно простая задача, даже и не задача вовсе, просто необыкновенно сильно сбивает с толку ) Сбивает непрактичность, т.е. никогда-нигде подобное не требовалось в реале. Мозг закостенел от практики, может утром на свежую голову что-то озарит. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 19:44 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Dima TPS Aleksandr Sharahov, заглянул под спойлер, понятнее не стало. PPS Это какая-то олимпиадная задачка. Дима +1 Тоже заглянул под спойлер. Я не понял как была получена таблица и как решать эту задачу. Есть подозрения что условия избыточные (есть отвлекающие н ненужные сведения) или я просто решаю задачу слишком сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 20:06 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
maytonили я просто решаю задачу слишком сложно. Ты (и я) решаем ее по инерции, по привычке, по классическим алгоритмам. А тут алгоритм из серии "оторви и выбрось", он ненужный, никогда в жизни не пригодиться. Я уже писал что помню что попадалась подобная задача с решением, но даже задумываться не стал из-за отсутствия практического применения алгоритма. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 20:19 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Dima TХЗ как решать, но я проверялку написал Тупо генерит все варианты и проверяет что из каждого можно получить все 8 комнат одним переключением. Алгоритм в методе algo(), менять только его. SWITCH_COUNT - кол-во переключателей. 40 это очень долго 10^13 вариантов. Тестил на 30. Формула SUM % N не работает при N от 9 до 13, дальше не тестил. Ещё бы написали алгоритм проверки алгоритма проверки. Было ж указано, что при mod 9 8 и 0 одно и то же. У Вас я это не увидел при проверке. ЗЫ Мне уныло лезть в c++: 0) надо ставить к студии с++ 1) я "туда" лез последний раз 6 месяцев назад (надо было решать тестовое задание для моего нонешнего работодателя) 2) удовольствия при п.1 не получил и лезть туда без особой нужды нет ни малейшего желания. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 20:32 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Dima Tmaytonили я просто решаю задачу слишком сложно. Ты (и я) решаем ее по инерции, по привычке, по классическим алгоритмам. А тут алгоритм из серии "оторви и выбрось", он ненужный, никогда в жизни не пригодиться. Я уже писал что помню что попадалась подобная задача с решением, но даже задумываться не стал из-за отсутствия практического применения алгоритма. Ну даже если перевести ее в плоскость чистой математики. Вам на вход подали целое число. Вам разрешено а нему прибавить или вычесть 2^N (инвертировать любой битик) таким образом чтобы получить число которое дешифровав таблично или через функцию получить от 1 до 8. Честно. Я не знаю. Для меня - это пока задача больше на интерпретацию смыслов. Мне почему-то она напоминает "бесконечный поезд в космосе" или "самолёт взлетающий с транспортёра". И проблема их не в том что они не решаются а в том что их условие с дефектом или неполное. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 21:12 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
mayton, думал, что только меня одного так поначалу смутили условия, ну тогда точно задача стоит заметки в бложике ) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 21:24 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
maytonИ проблема их не в том что они не решаются а в том что их условие с дефектом или неполное. а вот это уже нужно доказывать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 21:29 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov, объясните, пожалуйста, как пользоваться вашей табличкой =) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 21:34 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
mini.weblabAleksandr Sharahov, объясните, пожалуйста, как пользоваться вашей табличкой =) Закодировать: 1. найти строку с номером, равным текущему состоянию выключателей, например, 42 (или 0101010 в двоичной системе). 2. найти столбец, соответствующий номеру комнаты (в диапазоне 0..7, ты ж программист). 3. новое состояние выключателей установить равным содержимому ячейки на пересечении найденных строки и столбца. Раскодировать: 1. найти в таблице любую ячейку, содержащую наблюдаемое положение переключателей. 2. определить номер комнаты, соответствующий столбцу найденной ячейки. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 21:52 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov, попробую :) Спасибо! ПС: я задачу решила методом чита, но засомневалась =) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 22:01 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov, ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 22:47 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov, еще вопрос почему используете 7 переключателей и 8 комнат? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 22:50 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
mini.weblabПС: я задачу решила методом чита, но засомневалась =) Что за метод чита? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 23:05 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
mini.weblabAleksandr Sharahov, еще вопрос почему используете 7 переключателей и 8 комнат? Потому, что для 8 комнат необходимо и достаточно 7 переключателей ) И вообще, для 2^N комнат требуется (2^N)-1 переключателей, что как раз и доказывает, что ваш тестирующий не в ладах с двоичной системой ) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 23:24 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov, а ссылку на результат можно? кстати еще момент, по условию вы жили в одной из комнат, и по идее эту комнату можно было бы исключить mayton, для шифровки используем первые 3 ячейки. если наш агент приходит в гостиницу и комната для него заказана, используем колонку Room booked если наш агент приходит в гостиницу и комната для него предварительно не заказана, используем колонку Room not booked Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
PS: в крайнем случае используем жвачку ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 00:21 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
mini.weblabAleksandr Sharahov, а ссылку на результат можно? кстати еще момент, по условию вы жили в одной из комнат, и по идее эту комнату можно было бы исключить Ссылку дам, как только напишу заметку в бложик. По идее в той комнате, где я жил, мог жить не только я. А условия можно очистить от шелухи, например: Компьютер генерирует 2 случайных числа: первое - в диапазоне 0..7, второе - в диапазоне 0..127. Необходимо сначала закодировать первое число, а затем по коду восстановить его. В качестве кодов разрешается использовать числа из диапазона 0..127, которые отличаются от второго случайного числа не более чем одним битом. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 00:29 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov...Потому, что для 8 комнат необходимо и достаточно 7 переключателей ) И вообще, для 2^N комнат требуется (2^N)-1 переключателей,... тут больше комбинаторика кмк. хз. но для 3 комнат достаточно 2 бита 4 комнат достаточно 3 бита и т.д.. так что формула не работает. либо не так написали Вы её. Но ответ похоже правильный во втором топике Вы написали - 7 бит достаточно. (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 00:40 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
kolobok0, в каком именно случае (при каком N) формула не работает? Замечание. 2^N означает 2 в степени N. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 00:48 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Aleksandr Sharahovв каком именно случае (при каком N) формула не работает? ... вообще-то и формулу у Вас не вижу... опишите где и что Вы подразумеваете? закономерность которую вижу сам: N = K - 1 где K = комнаты N = переключатели. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 01:03 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
kolobok0Aleksandr Sharahovв каком именно случае (при каком N) формула не работает? ... вообще-то и формулу у Вас не вижу... опишите где и что Вы подразумеваете? закономерность которую вижу сам: N = K - 1 где K = комнаты N = переключатели. Если не видите, тогда почему утверждаете, что моя формула не работает или я не так ее написал? ) Что, где, когда: 18698883 . ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 01:12 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov...И вообще, для 2^N комнат требуется (2^N)-1 переключателей... окейно... Если N - это комнаты... то тогда для 3 комнат: 2 в степени 3 = 8. 8 - 1 = 7 переключателей (что является избыточно). Если 2 в степени N = комнаты... То тогда записав выражение комнаты - 1 = переключатели. отсюда моё замешательство, отсюда и задал вопрос = что Вы имели ввиду... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 01:26 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
kolobok0Aleksandr Sharahov...И вообще, для 2^N комнат требуется (2^N)-1 переключателей... окейно... Если N - это комнаты... то тогда для 3 комнат: 2 в степени 3 = 8. 8 - 1 = 7 переключателей (что является избыточно). Если 2 в степени N = комнаты... То тогда записав выражение комнаты - 1 = переключатели. отсюда моё замешательство, отсюда и задал вопрос = что Вы имели ввиду... Как вы понимаете, в своих рассуждениях, которые были опубликованы несколько раньше введенных вами обозначений, я вовсе не был обязан придерживаться ваших обозначений. В публикациях на (около)математические темы, если не оговорено противное, N обычно означает произвольное натуральное число, а не комнаты, переключатели и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 01:41 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Подкину вариант. 1) Берём первые три выключателя и называем их "зерно" - S, оно останется неизменным. Берём следующие 7 штук и называем их "маска" - M, одним из них чуть позже щёлкнем. Номер комнаты назовём R. 2) Для i = 1..7: если M[i] включён, то запоминаем новое значение зерна: S = S xor i, полученное преобразованное зерно назовём S*. 3) Щёлкаем переключателем маски номер (S* xor R) (если S* = R, то щёлкать не надо). Котово! Агент-сменщик повторяет шаги 1 и 2, и получает S* - искомый номер комнаты. например: 1) пусть S = 010, M = 0010001, R =5. 2) 010 xor 011 = 001 001 xor 111 = 110 3)5 xor 110 = 101 xor 110 = 011 = 3, щёлкаем третьим выключателем. Приходит сменщик: 1)S = 010, M = 0000001 2)010 xor 111 = 101 = 5. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 01:50 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov... В публикациях на (около)математические темы... определение выражения типа "формула" из вики: формула — всякая чисто символьная запись где в дальнейшем идёт расшифровка этих самых символов. Простите - так привык с того века. Наверное это мои замороты - хз. В конечном итоге то, что Вы написали вызвало больше вопросов, чем ответов(у меня лично). Чтоб не гадать - я задал Вам вопрос. На который кстати Вы не ответили (по поводу уточнить Ваше высказывание). Если Вы пытались записать выражение типа N = K - 1 где K = комнаты N = переключатели. то нафига степени двоек впрягли? Чтоб типа поболее символов? :) (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 01:55 |
|
из тестового задания
|
|||
---|---|---|---|
#18+
kolobok0нафига степени двоек впрягли? Чтоб типа поболее символов? :) Нет, не для этого. А для того, чтобы записать утверждение в общем виде для произвольного натурального параметра N. Дело в том, что я могу доказать справедливость приведенного утверждения лишь для количества комнат, равного натуральной степени двойки. Если вы можете доказать нечто подобное для произвольного количества комнат, то вам, конечно, не за чем "впрягать степени двоек". ) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 02:08 |
|
|
start [/forum/topic.php?fid=16&startmsg=39150058&tid=1339609]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 162ms |
0 / 0 |