Неясная задача про колонию микроорганизмов - 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.
Объяснение кода листинга программы
- Сначала программа запрашивает у пользователя два числа n и k.
- Затем программа заполняет массив a нулями.
- После этого программа запрашивает у пользователя три числа b, c и d.
- Используя эти числа, программа изменяет значения элементов массива a.
- Затем программа подсчитывает сумму положительных элементов массива a и выводит ее на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д