Эффективные ветрогенераторы Альтернативные источники энергии становятся крайне популярными в последнее время. Например, сети из ветрогенераторов являются довольно эффективными и, при этом, не загрязняют окружающую среду.
Ваша сеть состоит из 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 выработают по единице энергии.
только в сети с полносвязной топологией для соединения каждой пары компьютеров имеется отдельная линия связи. во всех остальных случаях возникает вопрос о том, как организовать совместное использование линий связи несколькими компьютерами.
в вычислительных сетях используют как индивидуальные линии связи между компьютерами, так и разделяемые, когда одна линия связи попеременно используется несколькими компьютерами.
существуют различные технологии организации сети:
ethernet – (эзернет) – это наиболее популярная сетевая технология, используемая для создания локальных сетей. основной принцип, положенный в основу – случайный метод доступа к разделяемой среде передачи данных. в качестве такой среды может использоваться коаксиальный кабель, витая пара, оптоволокно или радиоволны. топология электрических связей –общая шина.
суть метода случайного доступа в следующем – информацию компьютер вначале убеждается, что сеть свободна, потом передает информацию. ее принимают все другие компьютеры. если информация предназначена им (они анализируют адрес назначения), то они ее копируют.
главное достоинство сети ethernet – – достаточно иметь сетевые адаптеры на компьютерах и кусок коаксиального кабеля.
token ring – кольцевая сеть, каждый узел кольца ожидает прибытие пакета информации адресованного ему.
однако в последние годы наметилась тенденция отказа от разделяемых сред передачи данных. это связано с низкой производительностью таких сетей. компьютеры подключаются индивидуальными линиями связи к специальному устройству - коммутатору. следует подчеркнуть, что связи между компьютерами остаются разделяемыми.
в сетях отказ от разделяемых линий связи объясняется техническими причинами: компьютеры могут затратить больше времени на переговоры о том, кому сейчас можно использовать линии связи, чем непосредственно на передачу данных по линии связи.
ответ:
uses crt;
var a: array[1..20,1..20] of real;
n,m,i,j: integer;
s: real;
begin
clrscr; randomize;
write('введите кол-во строк: '); readln(n);
write('введите кол-во столбцов: '); readln(m);
for i: =1 to n do
begin
for j: =1 to m do
begin
a[i,j]: =random(100)/10;
write(a[i,j]: 4: 1);
end;
writeln;
end;
for i: =1 to n do
begin
s: =0;
for j: =1 to m do
s: =s+a[i,j];
writeln('сумма ',i,'-ой строки: ',s: 0: 1);
end;
for j: =1 to m do
begin
s: =0;
for i: =1 to n do
s: =s+a[i,j];
writeln('сумма ',j,'-ого столбца: ',s: 0: 1);
end;
for j: =1 to m do
begin
s: =0;
if j mod 2 = 0 then
begin
for i: =1 to n do
s: =s+a[i,j];
writeln('среднее арифметическое ',j,'-ого столбца: ',s/m: 0: 1);
end;
end;
readln;
end.
объяснение: