Эффективные ветрогенераторы Альтернативные источники энергии становятся крайне популярными в последнее время. Например, сети из ветрогенераторов являются довольно эффективными и, при этом, не загрязняют окружающую среду.
Ваша сеть состоит из n ветрогенераторов. Ветрогенераторы с чётными номерами (то есть с номерами 2, 4, 6...) являются высокоэффективными. Они производят одну единицу энергии и во время сильного, и во время слабого ветра. А ветрогенераторы с нечётными номерами (то есть с номерами 1, 3, 5...) являются низкоэффективными и производить единицу энергии только во время сильного ветра.
Вам дана история ветров, состоящая из m событий. Каждое событие можно описать тремя числами: l, r, k. Это означает, что ветер дул на ветрогенераторы с номерами от l до r включительно. Причём, k=1 означает, что ветер был сильным, а k=2 означает, что ветер был слабым.
Чтобы оценить эффективность сети, требуется написать программу, сколько энергии в среднем вырабатывал один ветрогенератор за всю историю наблюдений за ветром
Гарантируется, что ответ является целым числом.
Входные данные
В первой строке содержатся числа n, m (1⩽n,m⩽105)- количество ветрогенераторов в сети и количество событий.
В следующих m строках содержится описание событий по одному в строке. Каждая строка содержит числа l, r, k (1⩽l⩽r⩽n,1⩽k⩽2).
Выходные данные
Выведите единственное число − среднее количество энергии, выработанное ветрогенератором.
Система оценки
Решения, работающие правильно при n,m≤1000, будут набирать не менее
Решения, работающие правильно при k=1, будут набирать не менее
Пример
входные данные
5 3
1 5 1
1 3 2
2 5 1
выходные данные
2
Примечание
В примере после первого события все пять ветрогенераторов выработают по единице энергии. После второго события только ветрогенератор с номером 2 выработает единицу энергии. После третьего события ветрогенераторы с номерами от 2 до 5 выработают по единице энергии.
для задач необходимо подключить библиотеку cmath, задачи решены на с++, надеюсь решения тебе
Объяснение:
a) int a, b, c, d; // a меньшее основание б большее . с д - боковые стороны
cin >> a >> b >> c >> d;
cout << a+b+c+d << endl;// периметр
cout << sqrt(c*c-((b-a)/2)*((b-a)/2))*(a+b)/2; // площадь
return 0;
b) int x1,y1, x2,y2;
cin >> x1 >> y1 >> x2 >> y2;
cout << sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
return 0;
c)int x2,y2;
cin >> x2 >> y2;
if ( sqrt((x2-0)*(x2-0)+(y2-0)*(y2-0))>7)
cout << "YES";
else cout << "NO";
return 0;
d)int a[10],c=0;
for(int i=0; i<10;i++)
{cin >> a[i];
c+=abs(a[i]);}
cout << c/10;
return 0;
Для получения корня между и n = 1.
Задние 2nh = A div C - количество квадратов умещающихся по-вертикали
nw = B div C - количество квадратов умещающихся по-горизонтали
n = nh * nw = общее количество квадратов.
Sr = A * B - 2*C*C
Код:
using System;namespace ThisAnswerIsNotMine { class Program { private static void Eq(double a) { var x = Math.Atan(1 / (Math.Exp(a) + 1)) + Math.PI; Console.WriteLine($"Для a = {a}, x = {x}"); } private static void Squares(int A, int B, int C) { int nh = A / C; int nw = B / C; int n = nh * nw; int Sr = A * B - 2*C*C; Console.WriteLine($"Количество квадратов со стороной {C} в прямоугольнике размером {A}x{B} равно: {n}"); Console.WriteLine($"Площадь оставшегося куска {Sr}"); } private static void Main() { Eq(double.Parse(Console.ReadLine()!)); Squares(int.Parse(Console.ReadLine()!), int.Parse(Console.ReadLine()!), int.Parse(Console.ReadLine()!)); } }}