对一道题目不太理解。。谁能来帮帮忙。。
题目和解题分析见附件图片
标准程序见附件
主要部分:
for j:=0 to m do
for k:=0 to t do
list[n,j,k]:=byte((k>=long[n])or(j>0));
for i:=n-1 downto 1 do
for j:=0 to m-1 do
for k:=0 to t do
begin
list[i,j,k]:=list[i+1,j,k];
if (k>=long)and(list[i+1,j,k-long]>=list[i,j,k])
then list[i,j,k]:=list[i+1,j,k-long]+1
else
if (j>0)and(list[i+1,j-1,t-long]>=list[i,j,k]) //请问这行和上行的代码怎么理解
then list[i,j,k]:=list[i+1,j-1,long]+1; //为要看list[i+1,j-1,t-long]的大小 end; //却给list[i+1,j-1,long]加1?怎么理解。。。