begin
f[1,k]:=f[2,k-1]+f[n,k-1];
for i:= 2 to n-1 do
f[i,k]:=f[i-1,k-1]+f[i+1,k-1];
f[n,k]:=f[n-1,k-1]+f[1,k-1];
end;
begin
f[1,k]:=f[2,k-1]+f[n,k-1];
for i:= 2 to n-1 do
f[i,k]:=f[i-1,k-1]+f[i+1,k-1];
f[n,k]:=f[n-1,k-1]+f[1,k-1];
end;
这个不是完整程序,没有变量说明,而要求出结果的话,对于你给的部分程序来看是必须要有输入才能有输出。
这个一定是你在看算法的时候看到这么一段,但这段程序的目的不是要你求结果,而是一个算法,是作者告诉你的解题思路。
一看去就很快想到了动态规划,但仔细一看就是个简单的递归而已(就是目前项等于前一项加上后一项);
比如有一个数组是a【1..4】of longint=(1 2 3 4),然后开始执行这个程序:
第一部分: f[1,k]:=f[2,k-1]+f[n,k-1];
a【1】的值由原来的1变为2+4=6;
第二部分: for i:= 2 to n-1 do
f[i,k]:=f[i-1,k-1]+f[i+1,k-1];
a【2】的值由原来的2变为6+3=9;a【3】的值由原来的3变为9+4=13;
第三部分:f[n,k]:=f[n-1,k-1]+f[1,k-1];
a【4】的值由原来的4变为13+6=19;
不懂再问。
首先 这个程序 不完整 从不完整的部分来看 这个2维数组 每个位置的数等于上一行 的左右两边的数字之和 (第一位和最后一位可以看成首尾相连)比如第一行 12345 (n=5,k递增)那么 第2,3行就是7 4 6 8 5,和9 13 12 11 15。以此类推。。。要给出完整程序才好(包括输入输出。。。)
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |