Неясная задача про колонию микроорганизмов - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Доброго времени всем, по окончанию раздела Ветвление,циклы,массивы, был дан модульный контроль который включал в себя 5 контрольных задач,3- из которых решил собственными силами, но есть одна задача, весьма не ясная и скорее всего не простая. Вот текст условия задача: Есть определенная колония микроорганизмов, которая проживает в определенном мире, где все микроорганизмы обмениваются энергией, обычно в колонии все происходило в балансе, сколько единиц энергии отдал одному, столько и получил от другого, но в мире произошло, что-то непонятное, после чего кто-то начал отдавать больше, а кто-то наоборот принимать больше, те кто брали больше стали еще стабильнее, собственно вопрос какую минимальную часть единиц энергии должен отдать глава колонии, чтобы вернуть стабильность тем, кто ее потерял. Вводим N - количество организмов в колонии, затем K-троек чисел, содержание очередной передачи энергии:кто кому и сколько передал. Возможно, что один микроорганизм отдал энергию несколько раз, одному и тому-же микроорганизму.Вывести сколько единиц энергии главе отдать нужно, чтобы был баланс. Пример Ввод 3 3 1 2 100 2 3 50 3 1 75 Вывод 50. Сколько вчитываюсь в условие, понимаю лишь то, что здесь нужен перебор чисел, для просчета кто отдал, а кто принял, и потом сложить разницу значений всех отдавших и не получивших должно кол-во, и вывести это количество, но препод сказал, что в задаче все значительно проще. Надеюсь, что хоть кто-то разберет как же правильно решить, данную странную задачу, заранее спасибо.

Решение задачи: «Неясная задача про колонию микроорганизмов»

textual
Листинг программы
var
n,k,i,s,b,c,d:integer;
a:array[1..1000]of integer;
begin
readln(n);
readln(k);
for i:=1 to k do
a[i]:=0;
s:=0;
for i:=1 to k do
begin
readln(b,c,d);
a[b]:=a[b]-d;
a[c]:=a[c]+d;
end;
for i:=1 to n do
if a[i]>0 then s:=s+a[i];
writeln(s);
end.

Объяснение кода листинга программы

  1. Сначала программа запрашивает у пользователя два числа n и k.
  2. Затем программа заполняет массив a нулями.
  3. После этого программа запрашивает у пользователя три числа b, c и d.
  4. Используя эти числа, программа изменяет значения элементов массива a.
  5. Затем программа подсчитывает сумму положительных элементов массива a и выводит ее на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы