有乙個n行m列(1<=n,m<=20)的網格蛋糕上有一些櫻桃。每次可以用一刀沿著網格線把蛋糕切成兩塊,並且只能夠直切不能拐彎。要求最後每一塊蛋糕上恰好有乙個櫻桃,且切割線總長度最小。
tips:在dfs時可以用乙個引用代表dp,既可省力又能使**美觀
#include
#include
#include
#include
using
namespace
std;
#define n 25
int m,n,k,dp[n][n][n][n],map[n][n],kase=0;
//dp(x,y,xlen,ylen)表示在以(x,y)為左上角,xlen,ylen為邊長的區域內的切割最小值
void init()
}int dfs(int x,int y,int xlen,int ylen)else
else
//沒有就捨棄這種情況
return d=2000;
return d;
}int main()
開始做動態規劃以來最流暢的一題,思路清晰,而且一次ac,爽快o(∩_∩)o~
ヽ(✿゚▽゚)ノ✧(≖ ◡ ≖✿)
dfs 深搜 模板
關於深度優先搜尋的效率問題,有多種解決方法。最具有通用性的是剪枝 prunning 也就是去除沒有用的搜尋分支。有可行性剪枝和最優性剪枝兩種。int mx 4 向上下左右四個方向移動 0,1 0,1 1,0 1,0 int my 4 bool check int x,int y 判斷是否滿足條件的子...
深搜剪枝 生日蛋糕
時間限制 1 sec 記憶體限制 128 mb 提交 14 解決 8 提交 狀態 討論版 命題人 add cy 7月17日是mr.w的生日,acm thu為此要製作乙個體積為n 的m層生日蛋糕,每層都是乙個圓柱體。設從下往上數第i 1 i m 層蛋糕是半徑為ri,高度為hi的圓柱。當i m時,要求r...
深搜(2) 尋路 蛋糕
include include include include using namespace std struct rode int minlen 1 30,tallen,talcost 當前最優路徑長度,正在走的路的長度,花銷 vector cityway 105 cityway i 是從i有路...