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

Сообщество - Игры

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

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

 

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

15

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

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

См. также

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

З.Ы. А так хотелось бы, чтобы кто-то таки привел ход своих рассуждений и собственно ответ, а также поразмышлял над постом 13-м:-))) Но похоже не судьба.....
26. Ёпрст 1027 14.08.09 13:03 Сейчас в теме
(22) думать в пятницу над алгоритмами и решением?
:)
ну ты и садист.
27. MaxDavid 122 15.08.09 03:02 Сейчас в теме
29. venger 2067 17.08.09 11:16 Сейчас в теме
(27) Ух-ты, ответ есть верный:-)
32. vligm 24 19.08.09 16:52 Сейчас в теме
Чисто эмпирически - 22 хода.
33. vligm 24 19.08.09 16:54 Сейчас в теме
34. venger 2067 19.08.09 16:57 Сейчас в теме
(33) Ниче-ниче, можешь сказать сколько строк и сколько столбцов? Тоже будет зачот:-)))
35. vligm 24 20.08.09 08:18 Сейчас в теме
у меня 15 строк и 7 столбцов
Оставьте свое сообщение