Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

想问一个问题:

Posted by Ruby931031 at 2013-05-13 16:38:08 on Problem 1274
我是用DFS实现的匈牙利算法,代码跟大多数人的写法一样:
int DFS_hungary(int cur)
{
    for (int i=1;i<=m;++i)
    {
        if (will[cur][i] && !used[i])
        {
            used[i] = true;
            if (py[i]==-1 || DFS_hungary(py[i]))
            {
                py[i] = cur;
                px[cur] = i;
                return 1;
            }
            used[i] = false; //如果加这一句就TLE了,请问为什么?
        }
    }
    return 0;
}

TLE了很多次,终于发现我多写了加注释的那句话。可是我还是想不明白,
为什么加这一句会有问题?回溯时删除访问标记为什么有错?难道会导致无限递归?即使有无限递归不是应该爆栈吗,怎么是TLE?

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator