На всякий случай, вот моё решение.
Изобразим общество в виде графа, где каждому члену общества соответствует вершина, а паре друзей - ребро. Также будем говорить, что деньги переводятся между соответствующими вершинами графа. Мы выполним условие задачи, если докажем, что этот граф является деревом, т.е. связным графом без циклов.
Если бы граф был несвязным, т.е. из какой-либо вершины нельзя было бы пройти в другую по рёбрам этого графа, то очевидно, что и перераспределить деньги между этими двумя вершинами было бы невозможно.
Теперь предположим, что в графе присутствует цикл
. Возьмём любые две соседние вершины
и
внутри этого цикла. По условию, существует набор переводов, позволяющий перевести ровно 1 рубль от
к
и имеющий нулевой баланс операций на других вершинах. Сопоставим каждой вершине
число
, соответствующее количеству раз, когда из этой вершины осуществляется перевод по 1 рублю во все прилегающие вершины. Заметим, что если все эти числа равны
, то суммарный баланс операций нулевой для каждой вершины. Это означает, что если
- минимум этих чисел по всем вершинам, то, вычитая
из всех чисел, мы получим набор переводов, дающих тот же эффект. Значит, не ограничивая общности, можно считать, что минимум равен
.
Временно выбросим из графа ребро
. При этом, поскольку в любом пути между вершинами графа, содержащем это ребро, его (ребро) всегда можно заменить оставшимся куском цикла
, то граф не перестанет быть связным. Пусть теперь
- вершина, на которой достигается вышеуказанный минимум чисел
, равный
, ближайшая к
в смысле пути по рёбрам модифицированного графа и
- этот кратчайший путь.
, иначе это означало бы, что из
нет переводов и суммарный баланс в
неотрицательный, в то время, как он должен быть равен
. Пусть теперь
- вершина из
, непосредственно предшествующая
по пути из
(
может совпадать с
). Поскольку ближе, чем
к
, вершин с
нет, то
. Теперь, в силу того, что
и в
есть минимум один перевод из
, заключаем, что суммарный баланс в
положительный, а значит
. Отсюда заключаем, что
, т.к. ребро
было выброшено. Возвращая это ребро на место и учитывая, что
,
, а
, видим, что суммарный баланс в
будет не менее
, что противоречит тому, что он должен быть равен
.