数据过水
查看原帖
数据过水
300098
cmaths楼主2024/1/13 15:25

忘加当前弧过了

int dfs(int u, int rem)
{
    if(u == t)
    {
        return rem;
    }
    int tmp = rem;
    for(int i = rad[u]; i; i = edge[i].nxt)
    {
        int v = edge[i].v;
        if(!edge[i].c || dis[v] != dis[u] + 1)
        {
            continue;
        }
        int f = dfs(v, min(rem, edge[i].c));
        edge[i].c -= f;
        edge[i ^ 1].c += f;
        rem -= f;
        if(!rem)
        {
            break;
        }
    }
    return tmp - rem;
}
2024/1/13 15:25
加载中...