dima11232
06.05.2022 05:14

27 на егэ(№5258 на решу егэ).

дан спи­сок точек плос­ко­сти с це­ло­чис­лен­ны­ми ко­ор­ди­на­та­ми. не­об­хо­ди­мо опре­де­лить:

1) номер ко­ор­ди­нат­ной чет­вер­ти k, в ко­то­рой на­хо­дит­ся боль­ше всего точек;

2) ко­ли­че­ство точек в этой чет­вер­ти m;

3) точку a в этой чет­вер­ти, на­и­ме­нее удалённую от осей ко­ор­ди­нат;

3) рас­сто­я­ние r от этой точки до бли­жай­шей оси.

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

опи­са­ние вход­ных дан­ных

в пер­вой стро­ке вво­дит­ся одно целое по­ло­жи­тель­ное число - ко­ли­че­ство точек n.

каж­дая из сле­ду­ю­щих n строк со­дер­жит ко­ор­ди­на­ты оче­ред­ной точки - два целых числа (пер­вое — ко­ор­ди­на­та x, вто­рое — ко­ор­ди­на­та у).

опи­са­ние вы­ход­ных дан­ных

про­грам­ма долж­на вы­ве­сти номер вы­бран­ной чет­вер­ти k, ко­ли­че­ство точек в ней m, ко­ор­ди­на­ты вы­бран­ной точки a и ми­ни­маль­ное рас­сто­я­ние r по об­раз­цу, при­ведённому ниже в при­ме­ре.

является ли мое решение на питоне эффективным и есть ли какое-нибудь более простое решение?

собственно программа:

n = int(

coord_1 = {'m': 0, 'a': (0, 0), 'r': 100}

coord_2 = {'m': 0, 'a': (0, 0), 'r': 100}

coord_3 = {'m': 0, 'a': (0, 0), 'r': 100}

coord_4 = {'m': 0, 'a': (0, 0), 'r': 100}

coords = [coord_1, coord_2, coord_3, coord_4]

for i in range(n):

coord = input()

x, y = [int(i) for i in coord.

if x > 0 and y > 0:

coord_1['m'] += 1

if x < coord_1['r'] or y < coord_1['r']:

coord_1['r'] = min(x, y)

coord_1['a'] = (x, y)

elif x == coord_1['r'] or y == coord_1['r']:

if x + y < coord_1['a'][0] + coord_1['a'][1]:

coord_1['a'] = (x, y)

elif x < 0 and y > 0:

coord_2['m'] += 1

if abs(x) < coord_2['r'] or y < coord_2['r']:

coord_2['r'] = min(abs(x), y)

coord_2['a'] = (x, y)

elif abs(x) == coord_2['r'] or y == coord_2['r']:

if abs(x) + abs(y) < abs(coord_2['a'][0]) + coord_2['a'][1]:

coord_2['a'] = (x, y)

elif x < 0 and y < 0:

coord_3['m'] += 1

if abs(x) < coord_3['r'] or abs(y) < coord_3['r']:

coord_3['r'] = min(abs(x), abs(y))

coord_3['a'] = (x, y)

elif abs(x) == coord_3['r'] or abs(y) == coord_3['r']:

if abs(x) + abs(y) < abs(coord_3['a'][0]) + abs(coord_3['a'][1]):

coord_3['a'] = (x, y)

elif x > 0 and y < 0:

coord_4['m'] += 1

if x < coord_4['r'] or abs(y) < coord_4['r']:

coord_4['r'] = min(x, abs(y))

coord_4['a'] = (x, y)

elif x == coord_4['r'] or abs(y) == coord_4['r']:

if abs(x) + abs(y) < coord_4['a'][0] + abs(coord_4['a'][1]):

coord_4['a'] = (x, y)

k = 1; m = coord_1['m']

r = coord_1['r']; a = coord_1['a']

for i in range(1, 4):

if m < coords[i]['m'] or (m == coords[i]['m'] and r > coords[i]['r']):

k = i + 1; r = coords[i]['r']; a = coords[i]['a']

m = coords[i]['m']

print('k =', k)

print('m =', m)

print('a =', a)

print('r =', r)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
adinakuba
04.01.2020 09:20
program task31153145; const  N = 10; var  arr: array[1..N] of integer;  S, indexOfFifty: integer;  haveFifty: boolean; begin  haveFifty := false;  for var i := 1 to N do    begin      arr[i] := Random(100);      if (arr[i] > 10) and (arr[i] < 30) then        S := S + arr[i];          if arr[i] = 50 then            begin              indexOfFifty := i;              haveFifty := true;            end;    end;  if haveFifty = true then    Writeln('В МАССИВЕ ЕСТЬ ЧИСЛО 50, ЕГО ИНДЕКС = ', indexOfFifty)  else    Writeln('В МАССИВЕ НЕТ ЧИСЛА 50');  Writeln('S = ', S); end.
0,0(0 оценок)
Ответ:
LolKek006
15.04.2023 01:01
При  решении  целого  ряда  задач  Леонард  Эйлер  использовал  идею  изображения  множеств  с кругов  и  они  получили  название  «круги  Эйлера». 

С этих  кругов  Эйлер  изобразил  и  множество  всех  действительных  чисел: 

·     N  —  множество  натуральных  чисел, 

·     Z  —  множество  целых  чисел, 

·     Q  —  множество  рациональных  чисел, 

·     R  —  множество  всех  действительных  чисел. 

 
В  нашем  классе  24  ученика.  Все  они  хорошо  провели  зимние  каникулы.10  человек  катались  на  лыжах,  16  ездили  на  каток,  а  12  —  лепили  снеговиков.  Сколько  учеников  смогли  покататься  и  на  лыжах,  и  на  коньках,  и  слепить  снеговика?

А  —  множество  ребят,  катающихся  на  лыжах

В  —  множество  ребят,  катающихся  на  коньках

С  —  множество  ребят,  лепивших  снеговиков

Решение

Пусть  х  —  число  ребят, 

которые  успели  за  эти  каникулы  всё!

(12  -  х)  +  (16  -  х)  +  (10  -  х)  +  х  =  24

ответ:  7  ребят

 
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота