POJ1190
来源:互联网 发布:vray网络渲染设置 编辑:程序博客网 时间:2024/06/05 00:52
初次写这题,写得不是很完美,请大家不要吐槽~~~~~~
#include <cmath>#include <cstdio>const int inf=2147483647;int minv[21],ri[21],hi[21],n,m ;int ans ;int dfs (int n,int v,int s,int maxr,int maxh){ int res; int i,tr,th,ts; if(n>m){ if(v==n && s+ri[1]*ri[1]<ans){ ans=s+ri[1]*ri[1]; return 1 ; } } for(ri[n]=maxr-1 ; ri[n]>=m-n+1 ; ri[n]--){ res=2.0*(n-v)/ri[n]+ri[1]*ri[1] ; if(res+s>=ans)continue ; for(hi[n]=maxh-1 ; hi[n]>=m-n+1 ; hi[n]--){ if (v+ri[n]*ri[n]*hi[n]+minv[m-n]>n)continue ; tr=ri[n];th=hi[n];ts=0; for(i=n;i<=m;i++){ ts+=tr*tr*th ; tr--;th--; } if(v+ts<n)continue ; dfs(n+1,v+ri[n]*ri[n]*hi[n],s+2*ri[n]*hi[n],ri[n],hi[n]) ; } } return 1 ;}int main(){ int tv,tr,th,i,j,k,m,n; tv=0; for(i=1;i<21;i++){tv+=i*i*i; minv[i]=tv; } scanf("%d%d",&n,&m); ans=inf; tv=n-minv[m-1]; if(tv>0){ tr=sqrt(1.0*tv/m)+1; th=1.0*tv/(m*m)+1; dfs(1,0,0,tr,th); } if(ans==inf){ ans=0; } printf("%d\n",ans); return 0;}
0 0
- POJ1190
- POJ1190
- POJ1190
- poj1190 生日蛋糕
- poj1190生日蛋糕
- poj1190生日蛋糕
- poj1190 生日蛋糕
- POJ1190-生日蛋糕
- POJ1190生日蛋糕
- poj1190 生日蛋糕
- poj1190 神剪枝啊
- 北大ACM poj1190
- poj1190 生日蛋糕 dfs
- poj1190 生日蛋糕 搜索+剪枝
- poj1190深搜 生日蛋糕
- POJ1190(搜索加剪枝)
- POJ1190生日蛋糕题解
- POJ1190 生日蛋糕(DFS)
- Python内存管理机制
- 初次使用Android Studio的配置问题
- eclipse 导入XUtils 的 demo
- 一个师兄的面试经验,很诚恳
- lex和yacc 入门-- 计算器
- POJ1190
- javax.servlet.http.HttpSession session用法详解
- 网上找到的用xml传输图片
- 实现代码编辑器
- 【转载】深入FFM原理与实践
- Spring @Transactional (一)
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener错误的问题的原由
- easy-UI作为页面展示的一个例子
- C语言解释器的实现--序(零)