Варианты заданий
Версия для печати и копирования в MS Word
1
Тип Д27 C4 № 10428
i

На плос­ко­сти за­да­но мно­же­ство точек с це­ло­чис­лен­ны­ми ко­ор­ди­на­та­ми. Не­об­хо­ди­мо найти ко­ли­че­ство от­рез­ков, об­ла­да­ю­щих сле­ду­ю­щи­ми свой­ства­ми:

1)  оба конца от­рез­ка при­над­ле­жат за­дан­но­му мно­же­ству;

2)  ни один конец от­рез­ка не лежит на осях ко­ор­ди­нат;

3)  от­ре­зок пе­ре­се­ка­ет­ся с обе­и­ми осями ко­ор­ди­нат.

На­пи­ши­те эф­фек­тив­ную по вре­ме­ни и по ис­поль­зу­е­мой па­мя­ти про­грам­му для ре­ше­ния этой за­да­чи. Про­грам­ма счи­та­ет­ся эф­фек­тив­ной по вре­ме­ни, если при уве­ли­че­нии ко­ли­че­ства точек в k раз время ра­бо­ты воз­рас­та­ет не более чем в k раз.

Про­грам­ма счи­та­ет­ся эф­фек­тив­ной по па­мя­ти, если раз­мер па­мя­ти для хра­не­ния всех не­об­хо­ди­мых дан­ных не за­ви­сит от ко­ли­че­ства точек и не пре­вы­ша­ет 1 ки­ло­бай­та.

Перед тек­стом про­грам­мы крат­ко опи­ши­те ал­го­ритм ре­ше­ния и ука­жи­те язык про­грам­ми­ро­ва­ния и его вер­сию.

Вход­ные дан­ные

В пер­вой стро­ке задаётся N  — ко­ли­че­ство точек в за­дан­ном мно­же­стве. Каж­дая из сле­ду­ю­щих строк со­дер­жит два целых числа x и y  — ко­ор­ди­на­ты оче­ред­ной точки. Га­ран­ти­ру­ет­ся, что 1 ≤ N ≤ 10000; –1000 ≤ x, y ≤ 1000.

При­мер вход­ных дан­ных:

4

6 6

-8 8

-9 -9

7 -5

Вы­ход­ные дан­ные

Не­об­хо­ди­мо вы­ве­сти един­ствен­ное число: ко­ли­че­ство удо­вле­тво­ря­ю­щих тре­бо­ва­ни­ям от­рез­ков.

При­мер вы­ход­ных дан­ных для при­ведённого выше при­ме­ра вход­ных дан­ных: 2.


Аналоги к заданию № 10428: 10401 Все


2
Тип Д27 C4 № 10401
i

На плос­ко­сти за­да­но мно­же­ство точек с це­ло­чис­лен­ны­ми ко­ор­ди­на­та­ми. Не­об­хо­ди­мо найти ко­ли­че­ство от­рез­ков, об­ла­да­ю­щих сле­ду­ю­щи­ми свой­ства­ми:

1)  оба конца от­рез­ка при­над­ле­жат за­дан­но­му мно­же­ству;

2)  ни один конец от­рез­ка не лежит на осях ко­ор­ди­нат;

3)  от­ре­зок пе­ре­се­ка­ет­ся ровно с одной осью ко­ор­ди­нат.

На­пи­ши­те эф­фек­тив­ную по вре­ме­ни и по ис­поль­зу­е­мой па­мя­ти про­грам­му для ре­ше­ния этой за­да­чи. Про­грам­ма счи­та­ет­ся эф­фек­тив­ной по вре­ме­ни, если при уве­ли­че­нии ко­ли­че­ства точек в k раз время ра­бо­ты воз­рас­та­ет не более чем в k раз. Про­грам­ма счи­та­ет­ся эф­фек­тив­ной по па­мя­ти, если раз­мер па­мя­ти для хра­не­ния всех не­об­хо­ди­мых дан­ных не за­ви­сит от ко­ли­че­ства точек и не пре­вы­ша­ет 1 ки­ло­бай­та. Перед тек­стом про­грам­мы крат­ко опи­ши­те ал­го­ритм ре­ше­ния и ука­жи­те язык про­грам­ми­ро­ва­ния и его вер­сию.

Вход­ные дан­ные

В пер­вой стро­ке задаётся N  — ко­ли­че­ство точек в за­дан­ном мно­же­стве.

Каж­дая из сле­ду­ю­щих строк со­дер­жит два целых числа x и y  — ко­ор­ди­на­ты оче­ред­ной точки. Га­ран­ти­ру­ет­ся, что 1 ≤ N ≤ 10 000; –1000 ≤ x, y ≤ 1000.

При­мер вход­ных дан­ных:

4

6 6

-8 8

-9 -9

7 -5

Вы­ход­ные дан­ные

Не­об­хо­ди­мо вы­ве­сти един­ствен­ное число: ко­ли­че­ство удо­вле­тво­ря­ю­щих тре­бо­ва­ни­ям от­рез­ков.

При­мер вы­ход­ных дан­ных для при­ведённого выше при­ме­ра вход­ных дан­ных: 4.


Аналоги к заданию № 10428: 10401 Все