N друзей постоянно берут в долг друг у друга деньги. В какой-то момент им надоело забывать кто, кому и сколько должен и они придумали систему долговых расписок. И чтобы начать новый год «с чистого листа», друзья решили и оплатить все долговые расписки, которые накопились у них друг к другу. Однако выяснилось, что иногда один и тот же человек в разные дни выступал как в роли должника, так и в роли кредитора.
Напишите программу, которая по заданным распискам вычислит, сколько всего должен каждый друг выплатить другим (или получить с других).
Сначала вводится число N – количество друзей, затем вводится число K – количество долговых расписок, после этого следует K троек чисел: номер друга взявшего в долг, номер друга давшего деньги и сумма. Гарантируется, что ни один друг не брал в долг сам у себя.
Программа должна вывести “баланс друзей”, то есть суммы, которые должны получить или отдать друзья. Положительное число означает, что друг должен получить деньги от других, отрицательное — должен отдать деньги.
Пример 1:
Кол-во друзей: 2
Долговых расписок: 3
1 расписка
Кому: 1
От кого: 2
Сколько: 10
2 расписка
Кому: 1
От кого: 2
Сколько: 20
3 расписка
Кому: 1
От кого: 2
Сколько: 20
Баланс друзей:
1 : -50
2 : 50
Пример 2:
Кол-во друзей: 3
Долговых расписок: 1
1 расписка
Кому: 3
От кого: 1
Сколько: 100
Баланс друзей:
1 : 100
2 : 0
3 : -100
Решение:
friend = int(input('Кол-во друзей: '))
receipt = int(input('Долговых расписок: '))
friends_list = []
for _ in range(friend):
friends_list.append(0)
for number in range(receipt):
print(f'\n{number + 1} расписка')
to_who = int(input('Кому: '))
from_who = int(input('От кого: '))
how_much = int(input('Сколько: '))
friends_list[from_who - 1] += how_much
friends_list[to_who - 1] -= how_much
print('\nБаланс друзей:')
for index in range(len(friends_list)):
print(f'{index + 1} : {friends_list[index]}')
