Для решения данной задачи можно воспользоваться следующим алгоритмом:
1. Посмотрим, как раскраска будет происходить в начале игры, при выборе разных начальных клеток. Обратим внимание, что если мы выберем клетку на краю доски, то её соседи на этой стороне не получат черного цвета. Поэтому оптимально выбирать клетку, которая не находится на краю.
2. Найдем наибольшую сторону доски. Это будет определять, как долго будут распространяться ходы игрока по одной из сторон доски.
3. Посмотрим на то, как распространяются ходы игрока по сторонам доски: выберем клетку, расположенную вблизи центра нужной стороны (непосредственно рядом), и проследим, сколько ходов понадобится игроку, чтобы окрасить всю эту сторону. Обратим внимание, что ходы распространяются только по одной стороне доски, поэтому важно выбрать начальную клетку так, чтобы она была расположена на нужной стороне.
4. Найдем минимальное число ходов из пункта 3 для всех сторон доски и выберем максимальное значение. Это определяет, через сколько ходов таблица будет окрашена.
Пример решения для m = 6, n = 6:
1. Рассмотрим раскраску для каждой из клеток.
- Для клетки в центре доски, раскраска будет происходить равномерно во всех направлениях.
- Для клеток на краю доски, раскраска будет происходить соседними с краем клетками только внутри доски.
2. В данном случае, у нас у доски стороны равны 6, поэтому ходы будут распространяться только по одной стороне.
3. Расмотрим распространение ходов по сторонам доски:
- Для начальной клетки, расположенной на первой горизонтальной линии, ходы будут распространяться на 5 клеток.
- Таким же образом, для начальной клетки, расположенной на первой вертикальной линии, ходы будут распространяться тоже на 5 клеток.
- Для начальной клетки, расположенной на второй горизонтальной линии, ходы будут распространяться на 4 клетки.
- То же самое, для начальной клетки, расположенной на второй вертикальной линии, ходы будут распространяться на 4 клетки.
- И так далее.
4. В итоге, минимальное число ходов из пункта 3 для всех сторон доски будет 4. Таким образом, через 4 хода таблица будет окрашена полностью.
В данном примере разница в выборе начальной клетки не сильно влияет на конечный результат, так как сторона доски равна 6 и при любом выборе клетки нарастание распространения ходов будет происходить одинаково по соседним клеткам, находящимся внутри доски. Однако, если сторона доски была бы большей, то оптимальнее было бы выбрать начальную клетку, находящуюся ближе к центру нужной стороны, чтобы минимизировать число ходов.
Таким образом, через 4 хода таблица будет окрашена при m = 6, n = 6.