日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

poj 1190 生日蛋糕 难|供自己瞻仰

發(fā)布時間:2025/4/16 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 poj 1190 生日蛋糕 难|供自己瞻仰 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

7月17日是Mr.W的生日,ACM-THU為此要制作一個體積為Nπ的M層生日蛋糕,每層都是一個圓柱體。
設從下往上數(shù)第i(1 <= i <= M)層蛋糕是半徑為Ri, 高度為Hi的圓柱。當i < M時,要求Ri > Ri+1且Hi > Hi+1。
由于要在蛋糕上抹奶油,為盡可能節(jié)約經(jīng)費,我們希望蛋糕外表面(最下一層的下底面除外)的面積Q最小。
令Q = Sπ
請編程對給出的N和M,找出蛋糕的制作方案(適當?shù)腞i和Hi的值),使S最小。
(除Q外,以上所有數(shù)據(jù)皆為正整數(shù))
有兩行,第一行為N(N <= 10000),表示待制作的蛋糕的體積為Nπ;第二行為M(M <= 20),表示蛋糕的層數(shù)為M。
僅一行,是一個正整數(shù)S(若無解則S = 0)。
Sample Input
100
2
Sample Output

68

https://www.cnblogs.com/GraceSkyer/p/5902045.html
https://www.cnblogs.com/shenben/p/6053079.html
https://blog.csdn.net/v5zsq/article/details/46575215
https://blog.csdn.net/nvfumayx/article/details/6653111
?

#include <iostream> #include <cstring> using namespace std; int n,m,sum; int leftMinS[21],leftMinV[21]; void DFS(int r,int h,int sumV,int sumS,int c) {if(c==0){if(sumS<sum&&sumV==n)sum=sumS;return ;}//剪枝:/*r*r*h=v//v是剩下的v2*r*h=ss=2*v/r+sumS>sum=>return 把剩下的所有體積,全部用來只做成一個圓柱體,這種情況加所增加到表面積是最小的。*/if(2*(n-sumV)/r+sumS>=sum)return ;//剪枝if(sumS+leftMinS[c]>sum||sumV+leftMinV[c]>n)return ;for(int i=r-1;i>=c;--i){if(c==m)sumS=i*i;for(int j=h-1;j>=c;--j){DFS(i,j,sumV+i*i*j,sumS+2*i*j,c-1);}} } int main() {cin>>n>>m;// int MIN,dfs;memset(leftMinS,0,sizeof(leftMinS));memset(leftMinV,0,sizeof(leftMinV));for(int i=1; i<22; i++){leftMinS[i] = leftMinS[i-1] + i*i*2;//初始化從第一層到第i層所能做到的的最小表面積leftMinV[i] = leftMinV[i-1] + i*i*i;//初始化從第一層到第i層所能做到的的最小體積}sum=999999999;DFS(100,10000,0,0,m);//r h v s mcout<<sum<<endl;return 0; }

?

?

?

?

?

總結

以上是生活随笔為你收集整理的poj 1190 生日蛋糕 难|供自己瞻仰的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。