0. venger 2086 12.08.09 22:22 Сейчас в теме

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

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

Перейти к публикации

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

З.Ы. А так хотелось бы, чтобы кто-то таки привел ход своих рассуждений и собственно ответ, а также поразмышлял над постом 13-м:-))) Но похоже не судьба.....
26. Ёпрст 1036 14.08.09 13:03 Сейчас в теме
(22) думать в пятницу над алгоритмами и решением?
:)
ну ты и садист.
27. MaxDavid 123 15.08.09 03:02 Сейчас в теме
29. venger 2086 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 2086 19.08.09 16:57 Сейчас в теме
(33) Ниче-ниче, можешь сказать сколько строк и сколько столбцов? Тоже будет зачот:-)))
35. vligm 24 20.08.09 08:18 Сейчас в теме
у меня 15 строк и 7 столбцов
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист/Cтарший программист 1С
Москва
зарплата от 100 000 руб. до 250 000 руб.
Полный день

Программист 1С
Калининград
зарплата от 60 000 руб. до 80 000 руб.
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день