我正在尝试解决the MARTIAN problem on SPOJ
我的算法如下:
定义dp[i][j]=max
可以以矩形形式0,0 to i,j
开采的矿物量。
使用重复
dp[i][j] = max(dp[i-1][j] + total amount of yeyenum
in the i-th row up to the j-th column,
dp[i][j-1] + total amount of bloggium
in the j-th column up to the cell i-th row)
然而,这种方法会产生WA(错误的答案)。有人可以请我提供一个测试用例,这样的方法不起作用吗?
我不是在寻找正确的算法,只是这种方法失败的测试用例。我自己一直无法找到这个bug。
答案 0 :(得分:3)
在您的代码上尝试此操作(根据给出的示例进行修改):
4 4
0 0 10 60
1 3 10 0
4 2 1 3
1 1 20 0
10 0 0 0
1 1 1 10
0 0 5 3
5 10 10 10
0 0
如果你从[4] [4]开始,你会选择Bloggium,因为你可以通过上升获得23个博客,而只剩下22个Yeyenum。但是,你会错过大量的Yeyenum。
使用你的算法,你会得到23 + 22 + 7 + 14 + 10 = 76.
如果您选择大型Yeyenum,您将得到70 + 14 + 10 + 22 = 116(所有Yeyenum,因为博客被封锁)。