tram pampamp
Мыслитель
(7710)
16 лет назад
Вроде получилось.
Не всегда.
1.Всего различных расстановок чисел (по модулю 3) в таблице 6х6 равно 3^36.
2.Оценим, сколько различных таблиц можно получить из нулевой. Рассмотрим все возможные квадраты, которые увеличивают число на 1.
Число возможных таблиц равно числу способов, которыми можно выбрать эти квадраты для у4частия в процессе.
Квадраты 4х4 и 6х6 сразу исключаем из рассмотрения, они заменяются несколькими квадратами 2х2.
Квадраты 2х2, не примыкающие к границе тоже можно исключить – они заменяются двумя квадратами 3х3, идущими внахлест. Такая конструкция увеличивает числа в образовавшемся квадрате 2х2 на 2, две таких конструкции – на 1 (по модулю 2).
Итак, получаем
16 квадратов 2х2 ( по краям) , каждый может участвовать 3-мя способами (от 0 до 2 по модулю 3), 3^16 способов
16 квадратов 3х3, 3^16 способов
4 квадрата 5х5, 3^4 способов.
Итого, не более 3^36 способов.
Однако, 4 непересекающихся квадрата 3х3 можно заменить квадратами 2х2.
Итого, количество таблиц, которые можно получить из нулевой меньше 3^36 а количество всех таблиц равно 3^36. Все таблицы таким способом получить нельзя, значит, и наоборот, найдется таблица из которой нельзя получить нулевую.
Спасибо за задачу!
hippieПросветленный (31241)
16 лет назад
Не всё понял в Вашем решении.
1) Как Вы избавляетесь от квадратов 2х2, не прилегающих к границе?
Вы имели в виду 2 таких квадрата 3х3?
0 0 0 0
0 1 1 1
0 1 1 1
0 1 1 1
и
1 1 1 0
1 1 1 0
1 1 1 0
0 0 0 0
Но при их наложении кроме 2 в квадрате 2х2 возникает ещё 10 единиц:
1 1 1 0
1 2 2 1
1 2 2 1
0 1 1 1
И что с этими единицами теперь делать?
2) Вы пишете, что 4 непересекающихся квадрата 3х3 можно заменить квадратами 2х2.
Это было бы верно, если бы ранее Вы не исключили центральный квадрат 2х2!
А так, удаляя один из квадратов 3х3 Вам придётся одновременно добавить один (центральный) квадрат 2х2, так что общее количество линейно независимых квадратов не изменится!
Капитан Гугл
Искусственный Интеллект
(146251)
16 лет назад
Наглая задачка.. . попробуем так: заменим все числа на 0, 1 и -1 в зависимости от остатка от деления на 3, и в дальнейшем будем пользоваться только этими числами (так удобнее) ; задача тогда - свести все числа в квадрате 6х6 к 0. Во-первых, заметим, что из двух квадартов 2х2, двух 3х3 и двух 5х5 можно составить квадрат 5х5 с 1, изменяющий на 1 только центральную клетку (подумай, как, это не сложно) , назовем это "операция *". Такими квадратами можно свести 4 центральные клетки к 0. Идея решения - "столкнуть" все не-нули в центр, после чего ликвидировать их *-ами.
Во-вторых, заметим, что комбинацией 4 2х2 и 2 3х3 можно изменить квадрат 3х3 на
0 1 0
1 0 1
0 1 0
(Расположение аналогично операции *, но все 2х2 накладываются в центре) . Назовем это "операция **".
Кроме того, очевидно, что 2-кратное повторение какой-либо операции эквивалентно ее обращению (т. е. вычитанию) .
Начинаем обнулять эл-ты, начиная с угловых. Квадартами 2х2 в углах доводим до 0. Операциями ** обнуляем соседние с углами э-ты (при этом, естественно, "портятся" эл-ты в центре, но это нас не волнует - пока) . Теперь, если на краю два одинаковых числа, обнуляем их квадратом 2х2, если разных - приводим край к виду 0 0 1 0 0 0 (теми же 2х2), после чего квадратом 2х2 превращаем 3-е и 4-е числа в единицы, которые вместе с 2-м числом обнуляются двумя 3х3.
Стороны очищены. Теперь операциями ** обнуляем углы центрального квадрата 4х4. Дальше обнуляем все, что возможно, используя квадраты 2х2, * и **. Если внешние эл-ты центрального 4х4 удалось обнулить, центр обнуляем операцией *, если не удалось - возможны нескольно вариантов (вроде 3, если изображать только центральный 2х4, то:
1 0 0 1
0 0 0 0
1 0 0 0
0 0 0 1
1 0 0 0
0 0 0 0
В каждом варианте есть несколько запутанное решение, которое несложно восстановить, но долго описывать.
В целом, мне кажется, что есть и более простое решение, чем этот брутфорс, но я его пока не увидел.
hippieПросветленный (31241)
16 лет назад
В Вашем решении всё было хорошо, до того момента, когда Вы получили прямоугольник 2х4.
При этом первый из указанных Вами случаев:
0 0 0 0
1 0 0 1
0 0 0 0
0 0 0 0
легко сводится (не выходя за пределы квадрата 4х4) к
0 0 0 0
0 1 1 0
0 0 0 0
0 0 0 0
и далее решается операцией *.
Но со вторым и третьим случаем большая проблема. Легко доказать, что не выходя за пределы центрального квадрата 4х4 (т.е. используя только квадраты, не касающиеся сторон доски), эти случаи нельзя свести к
0 0 0 0
0 X X 0
0 X X 0
0 0 0 0
Поэтому, очистить среднюю рамку, в этих случаях, можно, только используя всю доску 6х6. Но это значит, что теперь нужно снова выполнять первый этап решения ---обнуление чисел на сторонах доски!!! И т.д. Как говорится: «Наша песня хороша, начинай сначала!»
За один шаг разрешается выбрать произвольный квадрат (размером больше чем 1х1), стороны которого идут по сторонам клеток доски, и увеличить на 1 все числа, которые находятся в этом квадрате.
Всегда ли за несколько таких шагов можно добиться того, чтобы все числа на доске делились на 3?