NJUSTOJ 1347 内功or外功

来源:互联网 发布:无锡知原药业面试 编辑:程序博客网 时间:2024/06/17 22:30

题目大意:中文

题目链接

代码:

/*                          * Problem ID : NJUSTOJ 1347 内功or外功 * Author     : Lirx.t.Una                          * Language   : GCC              * Run Time   : 196 ms                          * Run Memory : 1704 KB                         */#pragma GCC optimize("O2")#include <string.h>#include <limits.h>#include <stdio.h>#defineINFINT_MAX#defineMAXNODEN1002#defineMAXFLWN20000#defineMIN(x,y)( (x) < (y) ? (x) : (y) )typedefstruct {intv;intc;} Flow;Flowflw[MAXFLWN];intnext[MAXFLWN];inthead[MAXNODEN];inte;intlev[MAXNODEN];intsum_lev[MAXNODEN];intpre[MAXNODEN];intaug[MAXNODEN];voidaddflw( int u, int v, int c ) {flw[e].v = v;flw[e].c = c;next[e]  = head[u];head[u]  = e++;flw[e].v = u;flw[e].c = 0;next[e]  = head[v];head[v]  = e++;}intsap( int src, int des ) {intu, v;intans;intminf;intminu;intf;intminlev;memset( lev, 0, ( des + 1 ) * sizeof(int));sum_lev[0] = ( des + 1 );memset( sum_lev + 1, 0, ( des + 1 ) * sizeof(int));for ( u = 0; u <= des; u++ )aug[u] = head[u];ans = 0;u   = src;while ( lev[src] < ( des + 1 ) ) {if ( u == des ) {for ( minf = INF, u = src; u != des; u = flw[f].v )if ( f = aug[u], flw[f].c < minf ) {minf = flw[f].c;minu = u;}for ( u = src; u != des; u = flw[f].v ) {f = aug[u];flw[f].c -= minf;flw[f ^ 1].c += minf;}ans += minf;u = minu;}for ( f = aug[u]; f != -1; f = next[f] )if ( flw[f].c && lev[u] == lev[ flw[f].v ] + 1 )break;if ( f != -1 ) {v = flw[f].v;aug[u] = f;pre[v] = u;u   = v;}else {if ( !( --sum_lev[ lev[u] ] ) )break;aug[u] = head[u];for ( minlev = ( des + 1 ), f = head[u]; f != -1; f = next[f] )if ( flw[f].c )minlev = MIN( minlev, lev[ flw[f].v ] );lev[u] = minlev + 1;sum_lev[ lev[u] ]++;if ( u != src )u = pre[u];}}return ans;}intmain() {intn, m;intu, v, c;intans;while ( ~scanf("%d%d", &n, &m) ) {memset(head, -1, ( n + 1 ) * sizeof(int));e = 0;while ( m-- ) {scanf("%d%d%d", &u, &v, &c);addflw( u, v, c );}ans = sap( 0, n );if ( !ans )puts("you need to study hard!");elseprintf("%d\n", ans);}return 0;}

0 0
原创粉丝点击