生日蛋糕
2017-07-27 09:18
106 查看
https://www.luogu.org/problem/show?pid=1731
是一道搜索题,重点在于剪枝。
具体写在代码中
是一道搜索题,重点在于剪枝。
具体写在代码中
#include<iostream> #include<cstring> #include<string> #include<algorithm> #include<cstdio> #include<cmath> using namespace std; int n,m,ans=0x7fffffff; void dfs(int t,int r,int h,int v,int s) { if(t==m) { if(v==0) ans=min(ans,s); return; } if(s+(m-t)>=ans) return;//s+最小的面积>=当前答案,一定不可以(这个最小体积是假设的全是1) if(v-r*r*h*(m-t)>0) return;//v-最大的体积大于零,那一定不成功 for(int i=r-1;i>=m-t;i--) for(int j=h-1;j>=m-t;j--){ if(v-i*i*j>=0) dfs(t+1,i,j,v-i*i*j,s+(t+1==1)*i*i+2*i*j);//是>=0啊,我当时写了个>0,傻乎乎地调了半天…… } } int main() { scanf("%d%d",&n,&m); dfs(0,sqrt(n)+1,sqrt(n)+1,n,0); if(ans!=0x7fffffff)printf("%d",ans); else printf("0"); return 0; }
相关文章推荐
- 吃了蛋糕,收了礼物 ^_^,大学里最后的生日到了~
- photoshop给蛋糕图片添加生日快乐水印
- poj1190(dfs+剪枝)生日蛋糕
- 生日蛋糕(搜索)poj 1190
- 纯HTML5+CSS3制作生日蛋糕
- 041103同事生日,又吃蛋糕了!
- 生日蛋糕
- 生日蛋糕的多种剪枝
- 生日蛋糕
- 生日蛋糕
- 生日蛋糕
- 生日蛋糕问题 【最简洁代码】
- 一次生日Party可能有p人或者q人参加,现准备有一个大蛋糕.问最少要将蛋糕切成多少块(每块大小不一定相等),才能使p人或者q人出席的任何一种情况,都能平均将蛋糕分食
- 生日蛋糕
- 三个瘦猴 ● 生日 之二 ———— 唱K & 蛋糕
- 生日快乐!
- 蛋糕
- 过了生日了!
- 情人节的生日
- 今天生日,发文纪念