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
- NJUSTOJ 1347 内功or外功
- 程序员的外功和内功的修炼
- 编程大法之内外功
- Android-外功篇-Utils
- Android-外功篇-ActionBar
- 面试复习==内功心法(二)?值传递or引用:进则变 出则还原
- 编程内功
- 项目管理的 "诗外功夫"
- Android-外功篇-MyLogger自定义Log
- 金庸武侠十大外功排行
- 2013南京邀请赛C题/njustOJ 1739 - Count The Carries
- 2013南京邀请赛C题/njustOJ 1739 - Count The Carries
- 容斥求范围内互质的个数 (njustoj 1922 count_prime)
- 如何成为ERP选型高手之外功篇
- 【C/C++语法外功】传值&传引用&传指针
- 【C/C++语法外功】传值&传引用&传指针
- 算法外功修炼之一 快速排序的Java实现
- 算法外功修炼之二 堆排序的java实现
- mongon db索引的一些小结
- 原创 【小李木耳】梦碎北京 2014-3-14 + 【续】 【小李木耳】梦碎北京 2014-3-18
- 英文Windows上如何让Cmd.exe显示中文
- AOJ-AHU-OJ-443 寄存器数据转换
- 4--1三角形类
- NJUSTOJ 1347 内功or外功
- Unity3D内置Shader翻译二
- C语言中两个实用的宏定义__DATE__和__TIME__
- Android-Fragment的生命周期
- 第四周——数组作数据结构(扩展2)
- java.lang.ClassCastException: android.app.Application cannot be cast to serialport_api.sample.App问题
- Android 用MD5加密算法加密密码
- android listview 显示指定数量的item
- eclipse和myeclipse关联java jar包以及源文件,doc文件