вы можете использовать алгоритм maxflow, он доступен в разных источниках, таких как https://www.geeksforgeeks.org/ford-fulkerson-algorithm-for-maximum-flow-problem/ или где-то еще.
для этой задачи вам нужно сделать график с 4 слоями;в первом и четвертом случае используйте только один узел, фактически они являются источником и местом назначения в алгоритме maxflow.
, а во втором и третьем уровне вы должны использовать узел m и n и между каждым узлом от одного уровня к другому уровнюэто ребро с емкостью = 1, это то, что вы назвали матрицей в своем вопросе.
, как мы уже говорили на втором уровне, у нас есть узел m, и все связано с первым узлом (источником в алгоритме maxflow), и этовеса - это то, что вы получаете в качестве входных данных.а для третьего и четвертого (узел назначения) то же самое с входными значениями m узла и m.
после запуска вашего алгоритма, если используется вся емкость узлов, поэтому ваш ответ - да, а если нет - ваш ответнет.Зачем?везде, где вы использовали емкость, в матрице показывается 1, и вам нужны все 1, поэтому ваш ответ должен иметь весь поток.и, как вы видите, между номером узла a из слоя secnod и nember b из третьего, если он имеет поток в вашей матрице m, m [a] [b] = 1.