题目链接
题解
费用流神题。
对于每一个方格延伸出去的每一根水管,有且仅有一个其他方格延伸出的水管与之相连,这样就不会漏水。即:每根水管的容量为 1 1 ,且必须满流。
然而即使产生了最优情况,整个管网也不一定是一整个联通块,而可能被分成若干块。因此,我们要对每个格点染色,相邻的两个格点,一个连源点,一个连汇点,就可以强制使每两个相邻的方格上都产生流量了。
旋转所花的步数即是费用。将一个方格拆成 个点(上下左右中),中间点连上源 or o r 汇点,并根据水管情况向四周连容量 1 1 ,费用