wxogus25   8년 전

dfs와 메모이제이션을 이용한 방식으로는 풀렸는데

똑같은 식을 사용한 dp로는 풀리지 않네요

어디가 잘못됐나요?


아래는 성공한 코드의 dfs 부분입니다.


int dfs(int now)
{
    int &res=dap[now];
 
    if(res!=-1)
        return res;
    int i,a;
    res=0;
    a=v[now].size();
    for(i=0;i<a;i++)
    {
        if(res<dfs(v[now][i].first)-v[now][i].second)
        {
            res=dfs(v[now][i].first)-v[now][i].second;
            pass[now]=v[now][i].first;
        }
    }
    res+=value[now];
 
    return res;
}

댓글을 작성하려면 로그인해야 합니다.