这样写错在哪?不理解为什么会输出较大值

P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles

我把dfs中最后一句 换成 ```cpp return dp[x][y]=max(q,p) + mp[x][y]; ``` 就A掉了,但不懂是为什么.
by Sky_valley @ 2018-05-15 21:32:41


仿佛失了智
by Sky_valley @ 2018-05-15 21:35:42


因为你的dfs是需要返回值的啊 ```cpp if(dp[x+1][y]>=0) p=dp[x+1][y]; else p=dfs(x+1,y); ```
by memset0 @ 2018-05-15 21:38:06


@[Sky_valley](/space/show?uid=69862) 这样打貌似只会返回一层吧~
by 不到前10不改名 @ 2018-05-15 21:38:41


谢谢啦,发现了,这样打没有返回值……
by Sky_valley @ 2018-05-15 21:51:46


|