noi 1999 生日蛋糕

2021-07-14 18:08:22 字數 1163 閱讀 1132

題目描述

4月16日是nanae的生日,josnch為此要製作乙個體積為nπ的m層生日蛋糕,每層都是乙個圓柱體。

設從下往上數第i(1 <= i <= m)層蛋糕是半徑為ri, 高度為hi的圓柱。當i < m時,要求ri > ri+1且hi > hi+1。

由於要在蛋糕上抹忌廉,為盡可能節約經費,我們希望蛋糕外表面(最下一層的下底面除外)的面積q最小。

令q = sπ

請程式設計對給出的n和m,找出蛋糕的製作方案(適當的ri和hi的值),使s最小。

(除q外,以上所有資料皆為正整數)

輸入 有兩行,第一行為n(n <= 10000),表示待製作的蛋糕的體積為nπ;第二行為m(m <= 20),表示蛋糕的層數為m。

輸出 僅一行,是乙個正整數s(若無解則s = 0)。

樣例輸入

100

2 樣例輸出 68r

1>r2

>r3

>..

.rm>=1

h1>h2

>h3

>..

.hm>=1

π r1

2 +∑m

i=1

2π r

ihi=

q ∑m

i=1

π ri

2hi=

n

//暴搜+剪枝

#include

#include

#include

#include

#include

using

namespace

std;

int n,m,x,ans;

int f[10005];

int b[30],c[30];

void dfs(int k,int x,int y,int v,int s)

if(sumreturn;

if(k==m)

int l=min(x-1,f[n-v]);//x上限

int min=m-k; //層數下限

for(int i=l;i>=min;i--)

}int main()

if(ans==1e9) cout

<<'0'

cout

0;}

NOI1999 生日蛋糕

noi1999 生日蛋糕 7月17日是mr.w的生日,acm thu為此要製作乙個體積為n 的m層生日蛋糕,每層都是乙個圓柱體。設從下往上數第i 1 i m 層蛋糕是半徑為ri,高度為hi的圓柱。當i時,要求ri ri 1且hi hi 1。由於要在蛋糕上抹忌廉,為盡可能節約經費,我們希望蛋糕外表面 ...

NOI1999 生日蛋糕

7月17日是mr.w的生日,acm thu為此要製作乙個體積為n 的m層 生日蛋糕,每層都是乙個圓柱體。設從下往上數第i 1 i m 層蛋糕是半徑為 r i 高度為 h i 的圓柱。當i r i r 且 h i h 由於要在蛋糕上抹忌廉,為盡可能節約經費,我們希望蛋糕外表面 最下一層的下底面除外 的...

NOI1999 生日蛋糕題解

還是被這個立體的結構嚇到了,隔了半年才 題目描述 7月17日是mr.w的生日,acm thu為此要製作乙個體積為n 的m層 生日蛋糕,每層都是乙個圓柱體。設從下往上數第i 1 i m 層蛋糕是半徑為ri,高度為hi的圓柱。當ir i r ri ri 1 且h i h hi hi 1 由於要在蛋糕上抹...