gifts2017

Головоломка "Ряды" v 1.0 для 1С 7.7

Опубликовал Александр Венгер (venger) в раздел Сообщество - Игры

Пусть имеется шахматная доска, каждая сторона которой содержит 100 клеток. Все 10000 полей доски заняты черными шашками. В нашем случае разрешенными ходами являются "модификации", т.е. операции замены в каком-то ряду (строке или столбце) всех шашек ряда черного цвета на белые и белых на черные. Необходимо за минимальное число ходов получить 1990 белых шашек, начиная с позиции, когда все шашки были черными.

Как играть: щелкаете дважды левой кнопкой мышки на ячейку с шашками, выбираете вариант "Модифицировать строку" или "Модифицировать столбец", это будет один ход. Потом повторяете эти действия, пока не наберете необходимое количество для победы. Текущее кол-во ходов и кол-во белых шашек выводится в заголовке формы.

 

Примечание: для отображения шашек используются символы шрифта "Wingdings", обычно в ОС Windows он уже есть по умолчанию…

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
rows.zip
.1250100726 5,43Kb
25.09.09
44
.1250100726 5,43Kb 44 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Венгер (venger) 12.08.09 22:22
(0) Ну что, кто первый решит?:-)
2. Епрст (Ёпрст) 13.08.09 08:27
3. DAVID (СССР) 13.08.09 09:08
Видно до Одеси завезли коноплі. Дуже цікава іграшка.
4. Александр Венгер (venger) 13.08.09 10:11
(2) Там все сложнее, чем кажется на первый взгляд:-) Решение лежит в стороне осмысления и вычисления сколько нужно строк и столбцов "перевернуть" (а таких решений всего два, плюс строки и столбцы можно поменять местами, так что максимум четыре), чтобы получить 1990 белых шашек:-) А потом уже выбрать решение с минимальным кол-вом ходов:-) Математика-с:-) Ладно подожду еще, потом уже выложу ход решения и размышления - довольно любопытно:-)
5. DAVID (СССР) 13.08.09 10:16
Игра просто СУПЕР!
Мозги уезжают !
Всем качать и срочно, будет чем занятся на выходные .
Респект и уважуха Автору !
Ты Гений !
Извини сразу просто не въехал.
vinsentfire; venger; +2 Ответить 3
6. Александр Венгер (venger) 13.08.09 10:18
(5) Спасибо!:-) Доброе слово и ежу приятно:-)
7. Александр Венгер (venger) 13.08.09 10:20
(5) Надеюсь слово "Гений" было использовано без двоякого смысла, который на этом сайте это слово приобрело?:-) А ответ на головоломку у тебя уже созрел, кстати?:-)
8. Епрст (Ёпрст) 13.08.09 10:47
(4) Не понял.. чем 100 ходов не устраивает ?
Тупо переворачиваем только строки или столбцы и привет..
9. Александр Венгер (venger) 13.08.09 11:01
(8) И что получится? 100 строк, например, в каждой строке 100 клеток, 100х100=10000 белых фишек, а надо 1990, не больше и не меньше. Ты попробуй сначала, че предполагать:-)
10. Епрст (Ёпрст) 13.08.09 11:33
(9) аа... я думал всё надо "перевернуть"...
ЗЫ: выводи результаты лучше не в заголовок, а на форму...
11. Епрст (Ёпрст) 13.08.09 11:34
+10 и панель инструментов скрой..
12. Епрст (Ёпрст) 13.08.09 11:38
+ добавь кнопки очистить.. отменить..
13. Александр Венгер (venger) 13.08.09 11:41
(10),(11) Да, эти мелочи сделаю, но я вот думаю над формулой, по которой пользователь сам мог бы модифицировать ширину и высоту доски в клетках, а от этой ширины и высоты (т.е. полем и квадрат и прямоугольник может быть любой) отсчитывалось бы кол-во белых шашек, которых нужно набрать... Чтобы сохранялась сложность головоломки, но играть можно было на поле разного размера.... У кого-то есть идеи (кто с мат. уклоном)?
14. Александр Венгер (venger) 13.08.09 12:03
(10),(11) +13, кстати, стоит еще учитывать, что на пересечении модифицированных (не четное количество раз) столбца и строки будет черная шашка, т.е. если в квадрате 8х8 модифицировать две строки или два столбца то белых фишек станет 16-ть, а если один столбец и одну строку - то 14-ть, т.к. одна общая шашка у них будет черная, то белых будет 14-ть. Для доски 100х100, если модифицировать один столбец и одну строку - белых шашек будет 198, а не 200-ти. Вот... А дважды и другое четное кол-во раз модифицированная строка или столбец опять станет черной, ну кроме того, где она пересекается с другими модифицированными рядами, которые модифицированы не четное кол-во раз...
15. Александр Венгер (venger) 13.08.09 12:04
(5) DAVID [ http://infostart.ru/profile/78298/ ] - я понимаю, что недавно зарегились, но подряд плюсовать мои посты и блоги, проги и закладки тоже не стоит, а то подумают неладное модераторы, плюсуйте хотя бы по нескольку в день, чтобы не привлекать внимание:-)
16. DAVID (СССР) 13.08.09 12:04
(14) Я до решения сам додумался или ?
17. DAVID (СССР) 13.08.09 12:06
(15) Понял . Больше не буду. Просто хотел выразить благодарность.
а в (16) имел ввиду - решение можно просчитать самому или нужно знать решение ?
18. Alxd (salexdv) 13.08.09 12:59
Однозначно + за саму идею
19. Александр Венгер (venger) 13.08.09 14:28
(17) Знать не нужно, просчитать стоит, чтобы время сэкономить, а то долго можно ходы делать, если наугад, пока решение найдешь:-)
20. Александр Венгер (venger) 14.08.09 12:43
(11),(12) Обновил, но кнопка "Отменить" не нужна, потому что можно еще раз "модифицировать" ряд, что приведет к тому же эффекту. Остальное для удобства поправил.
21. Епрст (Ёпрст) 14.08.09 12:49
22. Александр Венгер (venger) 14.08.09 12:50
(0) Похоже все заняты "политикой" и 1С-сом, размять мозги никому не охота:-) Жаль....:-) А ведь пятница, можно и отдохнуть, сменить деятельность, шевельнуть извилиной, получить удовольствие... (т.е. не гуглить, хотя не знаю, можно ли нагуглить ответ и ход решения, не пробовал, не интересно мне это)

З.Ы. А так хотелось бы, чтобы кто-то таки привел ход своих рассуждений и собственно ответ, а также поразмышлял над постом 13-м:-))) Но похоже не судьба.....
23. Александр Венгер (venger) 14.08.09 12:52
(21) Это выделение:-) Да? Так и курсор тоже будет...
24. Александр Венгер (venger) 14.08.09 13:00
(21) +23, Выделение ячеек, курсор на ячейке (инверсия цветов при выделении в таблице - это от платформы ):-))))
25. Епрст (Ёпрст) 14.08.09 13:01
26. Епрст (Ёпрст) 14.08.09 13:03
(22) думать в пятницу над алгоритмами и решением?
:)
ну ты и садист.
27. MaxDavid (MaxDavid) 15.08.09 03:02
28. MaxDavid (MaxDavid) 15.08.09 09:10
(13)
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Число");
ТЗ.НоваяКолонка("ВстретилосьРаз");
Для тт=1 По Хмакс Цикл
Для пп=1 По Умакс Цикл
ТЗ.НоваяСтрока();
ТЗ.Число = 100*тт + 100*пп -2*тт*пп;
ТЗ.ВстретилосьРаз = 1;
КонецЦикла;
КонецЦикла;
ТЗ.Свернуть("Число", "ВстретилосьРаз");
ТЗ.Сортировать("ВстретилосьРаз");
Сообщить(ТЗ.ПолучитьЗначение(1, 1));
29. Александр Венгер (venger) 17.08.09 11:16
(27) Ух-ты, ответ есть верный:-)
30. Александр Венгер (venger) 17.08.09 16:01
(28) Если строку: ТЗ.Число = 100*тт + 100*пп -2*тт*пп;
Заменить на: ТЗ.Число = Умакс*тт + Хмакс*пп -2*тт*пп;
То получим ТЗ для доски размером Хмакс на Умакс, где первый столбец - кол-во белых шашек, а второй - кол-во решений. Я правильно понимаю?
31. MaxDavid (MaxDavid) 18.08.09 14:31
(30)Абсолютно верно. Спасибо за поправку.
32. Владимир Мелещенко (vligm) 19.08.09 16:52
Чисто эмпирически - 22 хода.
33. Владимир Мелещенко (vligm) 19.08.09 16:54
34. Александр Венгер (venger) 19.08.09 16:57
(33) Ниче-ниче, можешь сказать сколько строк и сколько столбцов? Тоже будет зачот:-)))
35. Владимир Мелещенко (vligm) 20.08.09 08:18
у меня 15 строк и 7 столбцов
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа