сайты - меню - вход - но­во­сти


Задания
Версия для печати и копирования в MS Word

Петя раз­де­лил боль­шой пря­мо­уголь­ник 99 вер­ти­каль­ны­ми и 99 го­ри­зон­таль­ны­ми пря­мы­ми на 10 000 пря­мо­уголь­ни­ков, пло­ща­ди ко­то­рых не­из­вест­ны. За один во­прос можно узнать у Пети зна­че­ние пло­ща­ди лю­бо­го из этих 10 000 пря­мо­уголь­ни­ков. За какое наи­мень­шее ко­ли­че­ство во­про­сов по­лу­чит­ся га­ран­ти­ро­ван­но узнать пло­щадь боль­шо­го пря­мо­уголь­ни­ка?

Спрятать решение

Ре­ше­ние.

Предъ­явим стра­те­гию, поз­во­ля­ю­щую узнать пло­щадь боль­шо­го пря­мо­уголь­ни­ка за 199 во­про­сов.

Узна­ем за 199 во­про­сов пло­ща­ди всех пря­мо­уголь­ни­ков в ниж­ней стро­ке и в левом столб­це. До­ка­жем, что те­перь можно од­но­знач­но вос­ста­но­вить пло­щадь лю­бо­го ма­лень­ко­го пря­мо­уголь­ни­ка на кар­тин­ке.

Вы­бе­рем про­из­воль­ный пря­мо­уголь­ник раз­би­е­ния. Рас­смот­рим че­ты­ре пря­мо­уголь­ни­ка, ле­жа­щих в пе­ре­се­че­нии пер­вых рядов и рядов, со­дер­жа­щих вы­бран­ный пря­мо­уголь­ник. Обо­зна­чим их пло­ща­ди и длины сто­рон как на ри­сун­ке. Тогда S_1 умно­жить на S_4=abcd=S_2 умно­жить на S_3, от­ку­да не­из­вест­ная пло­щадь S_4 вы­ра­жа­ет­ся через из­вест­ные пло­ща­ди S_1, S_2, S_3 фор­му­лой S_4= дробь: чис­ли­тель: S_2 умно­жить на S_3, зна­ме­на­тель: S_1 конец дроби .

Сум­ми­руя пло­ща­ди всех ма­лень­ких пря­мо­уголь­ни­ков, на­хо­дим пло­щадь боль­шо­го.

Те­перь до­ка­жем от про­тив­но­го, что мень­ше чем за 199 во­про­сов пло­щадь узнать не по­лу­чит­ся. Рас­смот­рим дву­доль­ный граф, у ко­то­ро­го вер­ши­ны одной доли со­от­вет­ству­ют стро­кам, вер­ши­ны дру­гой доли со­от­вет­ству­ют столб­цам, а рёбра со­от­вет­ству­ют пря­мо­уголь­ни­кам на пе­ре­се­че­нии строк и столб­цов, про пло­ща­ди ко­то­рых спро­си­ли у Пети. Так как в графе 200 вер­шин и мень­ше 199 рёбер, он не­связ­ный. Зна­чит, граф можно раз­бить на не­сколь­ко ком­по­нент связ­но­сти. Вы­бе­рем одну ком­по­нен­ту.

Рас­смот­рим все стро­ки и все столб­цы, со­от­вет­ству­ю­щие вер­ши­нам вы­бран­ной ком­по­нен­ты. По­про­бу­ем уве­ли­чить вы­со­ты всех рас­смат­ри­ва­е­мых строк в x боль­ше 1 раз, од­но­вре­мен­но умень­шив длины всех рас­смат­ри­ва­е­мых столб­цов в x раз. За­ме­тим, что от этого пло­ща­ди всех ма­лень­ких пря­мо­уголь­ни­ков, про ко­то­рые спро­си­ли у Пети, не из­ме­нят­ся, так как мы ра­бо­та­ем с от­дель­ной ком­по­нен­той связ­но­сти.

Введём обо­зна­че­ния: a  — сумма высот рас­смат­ри­ва­е­мых строк, b  — сумма высот осталь­ных строк, c  — сумма длин рас­смат­ри­ва­е­мых столб­цов, d  — сумма длин осталь­ных столб­цов.

Из­на­чаль­но пло­щадь боль­шо­го пря­мо­уголь­ни­ка была равна  левая круг­лая скоб­ка a плюс b пра­вая круг­лая скоб­ка левая круг­лая скоб­ка c плюс d пра­вая круг­лая скоб­ка , а после из­ме­не­ния стала  левая круг­лая скоб­ка ax плюс b пра­вая круг­лая скоб­ка левая круг­лая скоб­ка дробь: чис­ли­тель: c, зна­ме­на­тель: x конец дроби плюс d пра­вая круг­лая скоб­ка . Урав­не­ние  левая круг­лая скоб­ка a плюс b пра­вая круг­лая скоб­ка левая круг­лая скоб­ка c плюс d пра­вая круг­лая скоб­ка = левая круг­лая скоб­ка ax плюс b пра­вая круг­лая скоб­ка левая круг­лая скоб­ка дробь: чис­ли­тель: c, зна­ме­на­тель: x конец дроби плюс d пра­вая круг­лая скоб­ка можно при­ве­сти к виду

adx плюс дробь: чис­ли­тель: bc, зна­ме­на­тель: x конец дроби минус ad минус bc=0 рав­но­силь­но левая круг­лая скоб­ка 1 минус дробь: чис­ли­тель: 1, зна­ме­на­тель: x конец дроби пра­вая круг­лая скоб­ка левая круг­лая скоб­ка xad минус bc пра­вая круг­лая скоб­ка =0

Если вы­брать x не равно дробь: чис­ли­тель: bc, зна­ме­на­тель: ad конец дроби , то пло­ща­ди до и после из­ме­не­ния будут раз­ны­ми, а со­от­вет­ствен­ные от­ве­ты Пети в этих двух слу­ча­ях  — оди­на­ко­вы­ми. Зна­чит, узнать пло­щадь за мень­ше чем 199 во­про­сов на­вер­ня­ка не по­лу­чит­ся.

 

Ответ: 199.