SofiCat5
20.03.2020 04:01

Слышали ли вы что-нибудь о лимонно-кедровом лесу (лкл)? это уникальное место с лимонными деревьями и кедровыми соснами, в котором живут удивительные звери. формально лкл можно представить как плоскость с отмеченными на ней домиками зверей. всего есть n зверей, координаты домика i-го зверя равны (xi, yi). поскольку в одном домике могут жить несколько зверей, то некоторые пары координат могут совпадать. мудрый грач живёт в лкле уже седьмой год. за это время выросло не одно поколение зверят, и с лклом произошло множество изменений. в этом году мудрый грач предложил что-то новое: превратить часть леса в заповедник. но чтобы проект заповедника был принят, он должен соответствовать требованиям министерства лесопреобразования, а именно, заповедник должен быть выпуклым многоугольником, координаты каждой из вершин заповедника должны совпадать с координатами какого-то из домиков зверей, а периметр этого многоугольника должен быть минимальным возможным. поскольку мудрый грач заботится о жителях лкла, он хочет выбрать координаты вершин заповедника так, чтобы количество зверей, чей домик оказался внутри или на границе заповедника, было как можно больше. таким образом грачу нужно узнать максимальное количество зверей, чей домик окажется внутри или на границе заповедника с минимальным периметром. же ему скорее! выпуклый многоугольник — такой многоугольник, что для любых двух его точек, отрезок, соединяющий эти точки, целиком принадлежит многоугольнику. в данной мы считаем, что выпуклый многоугольник может иметь также одну или две вершины. периметр многоугольника — сумма длин его сторон (для многоугольника только из двух вершин периметр равен удвоенной длине единственного отрезка). формат файла входных данных: в первой строке входного файла содержится одно целое число n (1 ≤ n ≤ 100 000) — количество зверей. в следующих n строках содержатся по два целых числа xi,yi (0 ≤ xi,yi ≤ 500) — координаты домика i-го жителя. формат файла выходных данных: вы должны вывести одно целое число — максимальное количество зверят, чей домик окажется внутри или на границе заповедника с минимальным периметром. пример: стандартный ввод или wise-rook.in стандартный вывод или wise-rook.out 2 500 500 500 500 2 комментарий: в примере двое зверят, находящихся в одной и той же точке. единственный многоугольник, удовлетворяющий условию, состоит из одной вершины, находящейся в той же точке (500, 500), он же обладает минимальным периметром. для такого проекта заповедника все двое зверят попадут на его границу.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
saharok16
20.10.2022 05:40

1. Вспомните, как в используемом вами языке программирования

выделить в памяти массив A из N элементов и заполнить его нулями:

Место для ввода текста.

заполнить массив натуральными числами от 1 до N:

Место для ввода текста.

заполнить массив случайными числами в диапазоне [50,100]:

Место для ввода текста.

найти сумму всех элементов массива:

Место для ввода текста.

найти сумму чётных элементов массива:

Место для ввода текста.

найти количество отрицательных элементов массива:

Место для ввода текста.

найти максимальный элемент массива:

Место для ввода текста.

2. Представьте себе, что в кофейной чашке налит сок, а в стакане – кофе, и вы хотите, чтобы было наоборот. Что вы сделаете?

1)

2)

3)

3. Требуется поменять местами соседние элементы массива A, в котором чётное число элементов N. (1-й элемент меняется со 2-м, 3-й – с 4-м и т.д.) Выполните вручную следующий алгоритм для массива {1, 2, 3, 4} (N = 4).

for i in range(N):

поменять местами A[i] и A[i+1]

Заполните пропуски в таблице:

Почему этот алгоритм не сработал так, как нужно:

Место для ввода текста.

Какая ошибка произошла на последнем шаге выполнения цикла:

Место для ввода текста.

4. Предложите другое решение задачи из предыдущего задания, записав нужные операторы в теле цикла.

i = 1

while i < N:

5. Требуется выполнить реверс массива, то есть переставить элементы массива из N элементов в обратном порядке, так чтобы первый элемент стал последним, а последний – первым. С каким элементом нужно поменять местами

элемент A[0] c

элемент A[1] c

элемент A[i] c

6. Требуется выполнить реверс массива A, в котором N элементов. Выполните вручную следующий алгоритм для массива {1, 2, 3, 4} (N = 4).

for i in range(N):

поменять местами A[i] и A[N-1-i]

Заполните пропуски в таблице:

Почему этот алгоритм не сработал так, как нужно:

Место для ввода текста.

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

for i in range(N // 2):

8. Запишите в тетради другое решение задачи реверса, которое использует цикл с условием (пока, while):

Место для ввода текста.

9. Катя торопилась и написала такой алгоритм поиска значения X в массиве:

i = 0

while A[i] != X:

i += 1

print( "A[", i, "]=", X )

Проверьте, используя ручную прокрутку, правильно ли сработает алгоритм, если искать в массиве {1, 2, 3} число 2? число 4?

10. Запишите фрагмент программы для поиска номера минимального элемента массива (он должен быть записан в переменную nMin):

nMin = 0

for j in range( ):

if then

11. Запишите в тетради фрагмент программы, который меняет местами элементы A[i] и A[nMin]. Используйте вс переменную c.

Место для ввода текста.

12. Нарисуйте в тетради интеллект-карту параграфа «Обработка массивов»

13. В переменных записаны значения a = 1, b = 2 и с = 3. Как изменятся значения переменных после выполнении алгоритма:

a b c

1 2 3

c = a

b = a

a = c

Исправьте один символ в программе так, чтобы получился правильный алгоритм обмена значений переменных a и b.

c = a

b = a

a = c

14. Что произойдет с массивом [1, 2, 3, 4] (N = 4) при выполнении следующего фрагмента программы:

for i in range(N-1):

A[i] = A[i+1]

Покажите, как меняются элементы массива и значение переменной i после выполнения каждого оператора:

15. Что произойдет с массивом [1, 2, 3, 4] (N = 4) при выполнении следующего фрагмента программы:

for i in range(N-1):

A[i+1] = A[i]

Покажите, как меняются элементы массива и значение переменной i после выполнения каждого оператора:

16. Что произойдет с массивом [1, 2, 3, 4, 5, 6] (N = 6) при выполнении следующего фрагмента программы:

i = 0

while i < N-2:

c = A[i]

A[i] = A[i+1]

A[i+1] = A[i+2]

A[i+2] = c

i += 3

Покажите, как меняются элементы массива, а также переменные i и c после выполнения каждого оператора:

Объяснение:

0,0(0 оценок)
Ответ:
TheGreatHaterMisha
02.02.2020 16:40
В Бейсике есть встроенная функция ATN - арктангенс,
поэтому угол можно в градусах посчитать.

DIM a, b, c, cs, cst, ang, PI
INPUT " a = ", a
INPUT " b = ", b
INPUT " c = ", c
PRINT
PI = 3.141593
cs = (b * b + c * c - a * a) / (2 * b * c)
cst = cs
IF cs < 0 THEN cst = SQR(1 - cs * cs)
ang = ATN(SQR(1 - cst * cst) / cst) * 360 / (2 * PI)
IF cs < 0 THEN ang = ang + 90
PRINT "угол A = ",
PRINT USING "###.##"; ang
cs = (a * a + c * c - b * b) / (2 * a * c)
cst = cs
IF cs < 0 THEN cst = SQR(1 - cs * cs)
ang = ATN(SQR(1 - cst * cst) / cst) * 360 / (2 * PI)
IF cs < 0 THEN ang = ang + 90
PRINT "угол B = ",
PRINT USING "###.##"; ang
cs = (a * a + b * b - c * c) / (2 * a * b)
cst = cs
IF cs < 0 THEN cst = SQR(1 - cs * cs)
ang = ATN(SQR(1 - cst * cst) / cst) * 360 / (2 * PI)
IF cs < 0 THEN ang = ang + 90
PRINT "угол C = ",
PRINT USING "###.##"; ang
PRINT "Выход - любая клавиша ... "
DO
LOOP WHILE INKEY$ = ""
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота