摘要: #include int shangpin[20]; int p[10][4]; int vlue; int data[10]; int n,m; void dfs(int step,int money){ if(step==n){ if(money>vlue) vlue=money; return; } for(int j=0;j... 阅读全文
posted @ 2017-03-21 17:21 Mr.Struggle 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题目数据范围10000,因此简单的DFS会超时,所以要格外注意剪枝。 1.半径r,与高h都从n+1,开始搜索。 2.当前的表面积,加上之后层的预估最小表面积,若大于最优解,减掉。 3.当前的体积,加上之后层的预估最小体积,若大于最优解,减掉。 4.DFS中,若体积超出限制n,则减掉。 5.(目前体积 阅读全文
posted @ 2017-03-21 14:52 Mr.Struggle 阅读(795) 评论(0) 推荐(0) 编辑
摘要: 如果想在DFS过程中计算油田个数会很麻烦,所以要简化思想。我们可以把每一个油田当成一次DFS(只对"@"的进行DFS,这样每当DFS退出时,表示一块油田搜索完毕 ),这样每次DFS后油田数加一,最后输出结果。 阅读全文
posted @ 2017-03-21 10:58 Mr.Struggle 阅读(165) 评论(0) 推荐(0) 编辑