摘要:
问题描述:二维背包,求达到经验值时耐心的最小消耗,当包内worth达到规定值时跳出返回答案。关于三层循环的顺序:(i:物品种类,c1:cost1,c2,cost2)1、for i = 1 to k for c1 = 1 to c1_max for c2 = 1 to c2_max用每种物品进行更新状态,只有在循环结束时才能得到最优解;每次外层循环++时,某状态下第i种物品使用数便可以确定了,故便于记录第i种物品在某状态中用了多少个。2、for c1 =1 to c1_max for c2 = 1 to c2_max for i = 1 to k这样是对每... 阅读全文
摘要:
问题描述:在汉诺塔的规则上附加一条不能从左直接移到右或者从右移动到左,求操作数。由于不能直接用A柱到C柱,所以第n个盘子只能A->B->C,所以前n-1个盘子要移到C让路(nth A->B),再移到A让路(nth B->C),最后前n-1个盘子移到C完成操作。移动策略:1)前n-1个盘子A->C2)第n个盘子A->B3)前n-1个盘子C->A4)第n个盘子B->C5)前n-1个盘子A->C得出递推公式:f[n]=f[n-1]*3+2;#includeint main(){ long long f[36]; int i,n; for(i=2, 阅读全文