В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
olya200512
olya200512
25.09.2022 07:08 •  Информатика

Задача 4: Американские горки
Аттракцион «Американские горки» представляет собой рельсовый трек, размещённый на опорах. Известна высота каждой опоры. Для рекламы аттракциона необходимо выделить один из его фрагментов (несколько подряд идущих опор с рельсовым треком) световой подсветкой. При этом необходимо выделить такой фрагмент трека, на котором была бы «горка» то есть на выделенном участке трека была бы точка, которая находилась бы строго выше начала и строго выше конца выделенного фрагмента трека.

Владелец аттракциона для экономии хочет найти подходящий участок минимальной длины, удовлетворяющий условию наличию «горки» на этом участке.

Входные данные
Первая строка входных данных содержит число N – количество опор аттракциона. Следующие N строк содержат информацию о высотах опор при движении от начала к концу аттракциона. Все числа натуральные, не превосходящие 105.

Выходные данные
Программа должна вывести два числа – номер первой и последней подходящей опоры. Опоры нумеруются числами от 1 до N. Если фрагмента, удовлетворяющего условиям, не существует, программа должна вывести одно число 0. Если подходящих ответов несколько, нужно вывести любой из них.

Система оценивания
Решение, правильно работающее только для случаев, когда все входные числа не превосходят 100, будет оцениваться в

В будет оцениваться решение, правильно работающее, когда все числа не превосходят 105.

Примеры
Ввод Вывод Пояснение
7
18
10
15
20
20
10
3
3 6
Дано 7 опор с высотами 18, 10, 15, 20, 20, 10, 3. Самый короткий участок, содержащий «горку» – это 15, 20, 20, 10. Он начинается опорой номер 3 и заканчивается опорой номер 6.

3
9
8
5
0
Высоты опор убывают, поэтому участка с «горкой» нет.

Показать ответ
Ответ:
Марси667
Марси667
12.09.2020 04:51

data = [

   ['Ухмыляюсь', 2.26, 1.02, 87.3],

   ['Сияю от радости', 19.1, 1.69, 150.0],

   ['Катаюсь от смеха', 25.6, 0.774, 0.0],

   ['Слёзы радости', 233.0, 7.31, 2270.0],

   ['Подмигиваю', 15.2, 2.36, 264.0],

   ['Счастлив', 22.7, 4.26, 565.0],

   ['Глаза-сердца', 64.6, 11.2, 834.0],

   ['Целую', 87.5, 5.13, 432.0],

   ['Задумчивость', 6.81, 0.636, 0.0],

   ['Равнодушие', 6.0, 0.236, 478.0],

   ['Солнечные очки', 4.72, 3.93, 198.0],

   ['Громко плачу', 24.7, 1.35, 654.0],

   ['След от поцелуя', 21.7, 2.87, 98.7],

   ['Два сердца', 10.0, 5.69, 445.0],

   ['Сердце', 118.0, 26.0, 1080.0],

   ['Червы', 3.31, 1.82, 697.0],

   ['Класс', 23.1, 3.75, 227.0],

   ['Пожимаю плечами', 1.74, 0.11, 0.0],

   ['Огонь', 4.5, 2.49, 150.0],

   ['Переработка', 0.0333, 0.056, 932.0]

]

sum_emojixpress = 0

sum_instagram = 0

sum_twitter = 0

for row in data:

   sum_emojixpress += row[1]

emojixpress_mean = sum_emojixpress / len(data)

for row in data:

   sum_instagram += row[2]

instagram_mean = sum_instagram / len(data)

for row in data:

   sum_twitter += row[3]

twitter_mean = sum_twitter / len(data)

print('Среднее для EmojiXpress: {:.2f}'.format(emojixpress_mean))

print('Среднее для Instagram: {:.2f}'.format(instagram_mean))

print('Среднее для Твиттера: {:.2f}'.format(twitter_mean))

Объяснение:

объяснение в ответе

0,0(0 оценок)
Ответ:
530Саша1111
530Саша1111
08.12.2020 00:35
// тестировалось на C#.Net Framework 4.5
using System;

class Program
{
    static void Main()
    {
        int x1 = 2, y1 = 1;
        int x2 = 6, y2 = 5;
        int x3 = 10, y3 = 1;

        var a = Distance(x2, y2, x3, y3);
        var b = Distance(x1, y1, x3, y3);
        var c = Distance(x2, y2, x1, y1);

       
        Console.WriteLine("S = {0}", Square(a, b, c));
        Console.ReadKey();
    }

    //растояние между точками
    static double Distance(int x1, int y1, int x2, int y2)
    {
        return Math.Sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
    }

    //формула герона
    static double Square(double a, double b, double c)
    {
        var p = (a + b + c) / 2;
        return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
    }

    // теорема косинусов
    static double Angle(double a, double b, double c)
    {
        return Math.Acos((b * b + c * c - a * a) / (2 * b * c));
    }

    static bool IsAcuteAngel(double alpha)
    {
        return alpha < Math.PI / 2;
    }
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота