Покраска забора Время: 1000ms, Память: 128MB, Сложность: 15% В одной далекой стране жил был Виталик-Гитарист, да к тому же и народный певец да на дуде игрец. Его мама постоянно заставляла делать дела по дому, и на этот раз она попросила его покрасить забор. Забор состоит из прямоугольных панелей одинаковой длины и единичной ширины.
Виталик знает, что мама решила сэкономить на краске и купила самую дешевую, методом экспериментов он смог определить что если нанести краску не менее чем A слоев и не более чем B слоев, забор будет выглядеть как раз нормально. Виталя был достаточно хитер и решил свалить всю работу на младшего брата, который согласился с этим делом.
Для простоты брат решил красить забор секциями, нанося на панели забора текущей секции краску в один слой. Завершив покраску секции он произвольно выбирал другую секцию (и не факт, что эта секция не совпадала полностью или частично с уже покрашенной частью забора) и приступал к ее покраске. Таким образом некоторые панели забора он мог покрасить несколько раз, в то время как другие - ни разу.
Пока брат красил забор Виталик ушел играть на гитаре и петь свои любимые песни, а когда вернулся, он был повергнут в шок! Местами забор был покрыт очень большим слоев краски, а местами и вовсе не покрашен.
К счастью его брат обладал хорошей памятью и помнил какие секции и в каком порядке он красил. Теперь Виталик должен понять сколько панелей забора он не должен переделывать. Чтобы дефекты покраски были менее заметно, брат обязательно покрасил первую и последнюю панели забора.
Входные данные:
Во входном потоке в первой строке записано натуральное число N (N <= 106) - количество закрашенных секций. Во второй строке - натуральные числа A и B (A, B <= 100) - допустимое количество слоев краски. Далее идет список координат N секций в порядке их окрашивания (номер первой Xi и последней Xj панели забора, составляющее текущую секцию). Значения номеров панелей (координат) не превышают 1000.
Пример входного файла (input.txt):
4
1 1
1 2
3 4
5 8
3 6
Выходные данные:
Вывести единственное число - количество панелей которые не придется перекрашивать Виталику-гитаристу.
Пример выходного файла (output.txt):
4
8. cos(x) - ((abs(x-2))/(sqrt(x)+3))+sqr(1+x)
9. а = 10 b = 10 c = 20
Объяснение:
9.
а = 25 b = 16
пока условие (а + b) > 20 истинно (да) выполнить
Действия в цикле:
1) а = а - 5
2) b = b - 2
c = а + b
а = 25 b = 16
(25 + 16) > 20 41 > 20 (да)
Действия в цикле:
1) а = 25 - 5 = 20
2) b = 16 - 2 = 14
а = 20 b = 14
(20 + 14) > 20 34 > 20 (да)
Действия в цикле:
1) а = 20 - 5 = 15
2) b = 14 - 2 = 12
а = 15 b = 12
(15 + 12) > 20 27 > 20 (да)
Действия в цикле:
1) а = 15 - 5 = 10
2) b = 12 - 2 = 10
а = 10 b = 10
(10 + 10) > 20 20 > 20 (нет)
Цикл не выполняется
а = 10 b = 10
c = а + b = 10 + 10 = 20
а = 10 b = 10 c = 20
#define _USE_MATH_DEFINES
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double a, b, alpha, s; // объявления переменных
setlocale(LC_ALL, "Russian");
cout << "\nБольшее основание: "; // ввод с клавиатуры
cin >> a;
cout << "\nМеньшее основание: ";
cin >> b;
cout << "\nУгол при большем основании: ";
cin >> alpha;
s = a * b / sin(alpha * M_PI / 180); // расчет площади трапеции , * M_PI / 180 для перевода градусов в радианы
cout << "\nПлощадь трапеции = " << s;
}
Объяснение:
#define _USE_MATH_DEFINES
#include <math.h>
эти две строки для M_PI, можно просто заменить на 3.14