刘汝佳的书,有点不明白啊!
int d(int i,int j)
{
if(d[i][j]>=0)return d[i][j];
return d[i][j]=a[i][j]+(i==n?0:d(i+1,j)>?d(i+1,j+1));
}
摘自《算法竞赛入门经典》P160 问题:1,为什么数组名和函数名重复?2,d(i+1,j)>?d(i+1,j+1)是这么用的吗?
自己动手试了一下,均错。
[解决办法]
刚好书在旁边。
我在VS2010下验证了下,数组名 和 函数名重复 是可以的。
d(i+1,j)>?d(i+1,j+1)是这么用的吗?
我知道作者的意思,但是他这样的代码无法编译。等高手答。
[解决办法]
貌似在VC6.0下是编译通不过的 .....
求解释....
[解决办法]
数组名 和 函数名重复 是可以的吧
d(i+1,j)>?d(i+1,j+1)
这个是不是如果大于才赋值啊?
[解决办法]
就是把多行代码写一行了,你拆分一下,就可以执行了.
d[i][j]=a[i][j]+(i==n?0:d(i+1,j)>?d(i+1,j+1));
就当伪代码看吧,风格不推荐.