求助

回复帖子

@顾z 2018-10-19 15:04 回复

这两种写法有何不同嘛

bool find(int x)
{
    int xx;
    for(int i=head[x];i;i=edge[i].u)
    {
        xx=edge[i].v;
        if(!vis[xx])
        {
            vis[xx]=1;
            if(!match[xx]||find(match[xx]))
            {
                match[xx]=x;
                return 1;
            }
        }
    }
    return 0;
}

这样不能出样例的

bool find(int x)
{
    for(R int i=head[x];i;i=edge[i].u)
    {
        if(!vis[edge[i].v])
        {
            vis[edge[i].v]=1;
            if(!match[edge[i].v] or find(match[edge[i].v]));
            {
                match[edge[i].v]=x;
                return true;
            }
        }
    }
    return false;
}
反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。