zoukankan      html  css  js  c++  java
  • POJ1459 Power Network (网络流)

    跟上一题差不多,就是输入的处理比较麻烦。

    View Code
    #include <stdio.h>
    #include <string.h>
    #include <queue>
    using namespace std;
    #define MIN(a,b) ((a)<(b)?(a):(b))
    #define N 105
    int n,ns,nt,m;
    int g[N][N];
    int pre[N];
    void EK(int s,int t)
    {
        int u,v,maxflow=0;
        while(1)
        {
            queue<int>q;
            memset(pre,-1,sizeof(pre));
            q.push(s);
            while(!q.empty())
            {
                u=q.front(),q.pop();
                for(v=0;v<=n+1;v++) if(g[u][v] && pre[v]==-1)
                {
                    pre[v]=u;
                    q.push(v);
                }
                if(pre[t]!=-1)  break;
            }
            if(pre[t]==-1)  break;
            int aug=0x7fffffff;
            for(v=t,u=pre[t];v!=s;v=u,u=pre[u])
            {
                aug=MIN(aug,g[u][v]);
            }
            for(v=t,u=pre[t];v!=s;v=u,u=pre[u])
            {
                g[u][v]-=aug;
                g[v][u]+=aug;
            }
            maxflow+=aug;
        }
        printf("%d\n",maxflow);
    }
    int main()
    {
        int i;
        int s,t;
        int u,v,w;
        char c;
        while(~scanf("%d%d%d%d",&n,&ns,&nt,&m))
        {
            s=n;
            t=n+1;
            memset(g,0,sizeof(g));
            while(m--)
            {
                c=0;
                while(c!='(')   scanf("%c",&c);
                scanf("%d,%d)%d",&u,&v,&w);
                g[u][v]+=w;
            }
            for(i=0;i<ns;i++)
            {
                c=0;
                while(c!='(')   scanf("%c",&c);
                scanf("%d)%d",&v,&w);
                g[s][v]+=w;
            }
            for(i=0;i<nt;i++)
            {
                c=0;
                while(c!='(')   scanf("%c",&c);
                scanf("%d)%d",&u,&w);
                g[u][t]+=w;
            }
            EK(s,t);
        }
        return 0;
    }
  • 相关阅读:
    mysqldump 逻辑备份和物理备份
    mysql备份
    MySQL日志
    mysql 查询缓存
    Error: xz compression not available的解决办法
    rsync + crontab + expect 快速搭建同步
    同步文件,不需要密码
    logstash 值得收藏的
    MySQL5.7主从,单slave多master
    微信代扣签名
  • 原文地址:https://www.cnblogs.com/algorithms/p/2612197.html
Copyright © 2011-2022 走看看