Re[4]: 3
От: Pushkin Россия www.linkbit.com
Дата: 19.03.03 12:24
Оценка:
Здравствуйте, UgN, Вы писали:

M>>>Каково минимальное число стартовых клеток, при котором можно закрасить весь квадрат?


UgN>

UgN>
UgN>OOOOO
UgN>OOXOO
UgN>OOOXO
UgN>OOXOO
UgN>OOOOO
UgN>


или так

UgN>
UgN>OOOOO
UgN>OOXOO
UgN>OOXOO
UgN>OOXOO
UgN>OOOOO
UgN>


Любое расположение рядом 3-х клеток (а меньше уж точно нельзя) растекается по всей доске.
Re[10]: Сказать???
От: Pushkin Россия www.linkbit.com
Дата: 19.03.03 12:28
Оценка:
Здравствуйте, UgN, Вы писали:

UgN>Pushkin куда-то смылся, а я хочу узнать самое правильное и красивое решение!


Пушкин весь в гнусных скандалах
А решение сказать могу.
Оно правда самое правильное и красивое.
Вот только не помню, моё или нет
Может, до завтра помучаемся? :)
От: mrhru Россия  
Дата: 19.03.03 12:32
Оценка:
Здравствуйте, Pushkin, Вы писали:

subj?
Евгений
Re[11]: Сказать???
От: UgN  
Дата: 19.03.03 12:32
Оценка:
Здравствуйте, Pushkin, Вы писали:

UgN>>Pushkin куда-то смылся, а я хочу узнать самое правильное и красивое решение!


P>Пушкин весь в гнусных скандалах


Да хватит уж. Наговорили там друг другу.

Ты нам тут нужен.

P>А решение сказать могу.

P>Оно правда самое правильное и красивое.
P>Вот только не помню, моё или нет

Говори.
Или погодь, вдруг, кто догадается.
Re[5]: 3
От: mogadanez Чехия  
Дата: 19.03.03 12:37
Оценка:
P>Любое расположение рядом 3-х клеток (а меньше уж точно нельзя) растекается по всей доске.

OOOOO
OO0XO
OOXOO
OX0OO
OOOOO


и так тоже?
... << RSDN@Home 1.0 beta 6a >>
Re[9]: Закрашиваем клеточки
От: mogadanez Чехия  
Дата: 19.03.03 12:40
Оценка:
XoXoXoX
ooooooo
Xoooooo
ooooooo
Xoooooo

тогда поидее любой такой квадрат можно закрасить
... << RSDN@Home 1.0 beta 6a >>
Re[6]: 3
От: Pushkin Россия www.linkbit.com
Дата: 19.03.03 12:48
Оценка:
Здравствуйте, mogadanez, Вы писали:

P>>Любое расположение рядом 3-х клеток (а меньше уж точно нельзя) растекается по всей доске.


M>
M>OOOOO
M>OO0XO
M>OOXOO
M>OX0OO
M>OOOOO
M>


M>и так тоже?


Чёрт, соврал, отвлекался на байду
Хорошо, пусть это будет "магаданское исключение" из "теоремы UgN-Пушкинa"
Re: Может, до завтра помучаемся? :)
От: Pushkin Россия www.linkbit.com
Дата: 19.03.03 12:50
Оценка:
Здравствуйте, mrhru, Вы писали:

Завтра скажу, время сбора 9-00 по москве
Вот прикол будет, если оно неправильное
Re[10]: Закрашиваем клеточки
От: Kluge  
Дата: 19.03.03 12:51
Оценка:
Здравствуйте, UgN, Вы писали:

С помощью N закрашеных квадратов при данных условиях можно закрасить максимум N^2 => S(квадрата)^-2 округлённое в большую сторону м есть искомый ответ, но вот формализовать предпосылку о N^2
Лоботомию в массы! (с)
Re[2]: Может, до завтра помучаемся? :)
От: mrhru Россия  
Дата: 20.03.03 03:10
Оценка: 11 (1)
Здравствуйте, Pushkin, Вы писали:

P>Завтра скажу, время сбора 9-00 по москве

P>Вот прикол будет, если оно неправильное

Пока вы все ещё дрыхнете, воспользуюсь своим географическим положением.



1) Закрашиваемые клетки не могут выйти за рамки минимального прямоугольника,
охватывающего все стартовые клетки.
(Это очевидно из алгоритма закраски)
2) Пусть у нас уже закрашен прямоугольник размера X * Y.
ххххх
ххххх
ххххх

Тогда, с помощью ещё одной стартовой клетки, мы можем увеличить площадь закраски двумя способами:
2.1) Разместив стартовую клетку напротив одной из сторон
ххххх
ххххх С
ххххх

или
ххххх
ххххх
ххххх

 С

Располагать вплотную к прямоугольнику — не выгодно, а помещать дальше — бесполезно.
При этом мы получим закрашенный прямоугольник размера (X + 2) * Y или X * (Y + 2)
2.2) Разместив стартовую клетку возле одного из углов
ххххх
ххххх
ххххх
     С

Закрашенный прямоугольник будет размером (X + 1) * (Y + 1)

3) Повторяя 2.1 или 2.2, мы сможем с помощью двух стартовых клеток увеличить площадь до
(X + 2) * (Y + 2).
ХХХХХxx
ХХХХХxС
ХХХХХxx
xxxxxxx
xxСxxxx


или

ХХХХХxx
ХХХХХxx
ХХХХХxx
xxxxxСx
xxxxxxС


4) Максимальная площадь, которая может быть закрашена с помощью одной стартовой — это
квадрат 1 * 1.

4.1) Для закраски квадрата N * N, где N — нечётное, нам понадобятся

  (N - 1)/2 клеток на каждую сторону, плюс ещё одна начальная

  (N - 1)/2 + (N - 1)/2 + 1 = N

4.2) Для закраски квадрата N * N, где N — чётное, мы должны начинать с квадрата 2 * 2, для
закраски которого нужны две стартовые клетки.
Итого
  (N - 2)/2 клеток на каждую сторону, плюс ещё две начальных

  (N - 2)/2 + (N - 2)/2 + 2 = N
Евгений
Re[3]: Почти годится :)
От: Pushkin Россия www.linkbit.com
Дата: 20.03.03 06:26
Оценка:
Здравствуйте, mrhru, Вы писали:

M>Пока вы все ещё дрыхнете, воспользуюсь своим географическим положением.


Непорядочный человек

M>3) Повторяя 2.1 или 2.2, мы сможем с помощью двух стартовых клеток увеличить площадь до

M>(X + 2) * (Y + 2).

А если через раз 2.1 и 2.2? Получим (X+3)*(Y+1).
И что из этого следует? А фиг его знает — твоё же решение,
ты и должен был рассматривать все случаи.

Короче вот, как я могу пересказать твоё решение, чтобы оно меня устроило (но чур через чёрточку потом ники писать в ссылках )

1) Если закрашен некий прямоугольник, без дополнительной стартовой точки его очевидно нельзя расширить.
2) Стартовая точка может помочь только в 3-х случаях: а) она пристыкована к стороне б) она отстоит от стороны через одну в)она пристыкована к углу.
3) Во всех случаях эта стартовая точка добавит к прямоугольнику либо ряд, либо столбец, либо два ряда, либо два столбца, либо ряд и столбец. Т.е. сумма рядов и столбцов закрашенного прямоугольника вырастет не более чем на 2.
4) Изначально сумма равнялась нулю. Чтобы получить итоговую сумму A+B надо не менее (A+B)/2 стартовых клеток, (округлять, если потребуется, в большую сторону.)
5) Для полноты нужна ещё достаточность. Но она тривиальна — стартовые клетки через одну по периметру (предложено например здесь
Автор: mogadanez
Дата: 19.03.03
) очевидно закрашивает.

Ну а теперь на сцену выходит другое решение...
Re[4]: Другое решение
От: Pushkin Россия www.linkbit.com
Дата: 20.03.03 06:37
Оценка: 38 (3)
Здравствуйте, Pushkin, Вы писали:

P>Ну а теперь на сцену выходит другое решение...


Это может показаться трюком, но на самом деле абсолютно стандартное решение. Во всех задачах такого рода надо прежде всего попытаться увидеть, какая величина не меняется при разовом действии.

В данном случае, так как мы пристыковываем новую клетку не менее чем к двум границам, ясно, что периметр закрашенной области при этом не растёт. Таким образом мы не можем закрасить область периметра P с помощью менее чем P/4 клеток.

В частности для прямоугольника со сторонами A и B потребуется не менее (A+B)/2 стартовых клеток. То, что их достаточно (с округлением вверх) проверяется в лоб.

У меня есть ощущение, что и для любой области ceil(P/4) будет достаточно. Но я не уверен. По крайней мере не могу доказать.
Re[5]: Другое решение
От: MichaelP  
Дата: 20.03.03 06:56
Оценка: 11 (1)
Здравствуйте, Pushkin, Вы писали:

P>У меня есть ощущение, что и для любой области ceil(P/4) будет достаточно. Но я не уверен. По крайней мере не могу доказать.



Опровержение:
  X
XXX
 XXX
 X
Re[6]: Другое решение
От: Pushkin Россия www.linkbit.com
Дата: 20.03.03 07:00
Оценка:
Здравствуйте, MichaelP, Вы писали:

MP>Здравствуйте, Pushkin, Вы писали:


P>>У меня есть ощущение, что и для любой области ceil(P/4) будет достаточно. Но я не уверен. По крайней мере не могу доказать.


MP>

MP>Опровержение:
MP>
MP>  X
MP>XXX
MP> XXX
MP> X
MP>


Да, одной не хватает
Ну найди сам границу достаточности, если такой умный
Re[4]: Закрашиваем клеточки
От: mihoshi Россия  
Дата: 20.03.03 07:27
Оценка:
Здравствуйте, Alik, Вы писали:


A>А по индукции? Для 1*1 очевидно. Если расмотреть N*N, который уже "расскрашен" и добавить один столбец и одну строку, т.е. перейти к (N+1)*(N+1), то очевижно, что хотябы одна клетка в строке и одна в столбце должны быть закрашены. Оптимально сделать это на пересечении строки и столбца. Вот и ограничили снизу


Не совсем так. Общее правило такое: Для того, чтобы закрасить прямоугольник N*M нужно не менее (N+M)/2 зерен(округление вверх). Этого же кол-ва достаточно. Засеиваем из угла по диагонали, потом вдоль края через одну.

X00000000
0X0000000
00X0X0X0X


Для того, чтобы ряд нужно закрасить (будем говорить "контролировать") нужно, чтобы в нем была закрашена (не обязательно первоначально) клетка или закрашены (тоже н обязательно сразу) две клетки в соседних рядах друг напротив друга. Вот так

00000X00000
00000000000
00000X00000

Далее доказательство в общем понятно. Но я пока не знаю, как изложить его иначе как долго и нудно с рассмотрение случаев.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.