The maximum minimum fee.
Graph Creation Method
Then there is the billing flow template ~~
Convert the minimum fee to the maximum fee. <喎?http: www.bkjia.com kf ware vc " target="_blank" class="keylink"> VcD4KPHA + u7nT0NK71tbX9reoo6y + zcrHsNHL + hybrid + CjxwPjxwcmUgY2xhc3M9 "brush: java;" >#include # Include # Include # Include Using namespace std; # define INF 99999999 # define maxn 5050 # define LL long longstruct list {int l; int r; int v; int f; int next;} node [1000001]; int num; int head [1000001]; int pre [maxn]; int n, k; int st, ed; LL ans; int ns; void add (int l, int r, int v, int f) {node [num]. l = l; node [num]. r = r; node [num]. v = v; node [num]. f = f; node [num]. next = head [l]; head [l] = num ++; node [num]. l = r; node [num]. r = l; node [num]. v =-v; node [num]. f = 0; node [num]. next = head [r]; head [r] = num ++;} int bfs () {int visit [maxn]; int dist [maxn]; int I; for (I = 0; I <= ns; I ++) dist [I] =-1; memset (visit, 0, sizeof (visit); memset (pre, -1, sizeof (pre); queue Q; q. push (0); dist [0] = 0; visit [0] = 1; while (! Q. empty () {int e = q. front (); q. pop (); visit [e] = 0; for (I = head [e]; I! =-1; I = node [I]. next) {int r = node [I]. r; if (dist [r] 0) {pre [r] = I; dist [r] = dist [e] + node [I]. v; if (! Visit [r]) {q. push (r); visit [r] = 1 ;}}}if (dist [ns] ==-1) return 0; return 1 ;}void change () {int minx, I; minx = INF; for (I = pre [ns]; node [I]. l! = 0; I = pre [node [I]. l]) {minx = min (minx, node [I]. f) ;}for (I = pre [ns]; node [I]. l! = 0; I = pre [node [I]. l]) {node [I]. f-= minx; node [I ^ 1]. f + = minx; ans + = minx * node [I]. v ;}} int main () {int I, j; int ll, rr; while (~ Scanf ("% d", & n, & k) {memset (head,-1, sizeof (head); num = 0; int; for (I = 1; I <= n; I ++) {for (j = 1; j <= n; j ++) {scanf ("% d ", & a); ll = (I-1) * n + j; rr = ll + n * n; add (ll, rr, a, 1); add (ll, rr, 0, k-1); if (j