#include<iostream>
using namespace std;
template <typename T>
void InsertSort(T m[], int length) //插入排序, 從小到大
{
for(int i = 1; i < length; ++i)
{
int j ;
T tmp = m[i];
for( j = i; j>0 && m[j-1]>tmp; --j)
m[j] = m[j-1];
m[j] = tmp;
}
}
double Min(double a, double b, double c, double d, double e) //返回最小值
{
double A[5] = {a, b, c ,d ,e};
InsertSort(A, 5);
return A[0];
}
double BuyBook(int a, int b, int c, int d, int e)
{
//把要買的書(shū)的數(shù)目按從小到大排序,因?yàn)槊糠N書(shū)價(jià)錢一樣,所以一種書(shū)放在哪個(gè)位置無(wú)所謂
int n[5] = {a, b, c, d, e};
InsertSort(n, 5);
a = n[0];
b = n[1];
c = n[2];
d = n[3];
e = n[4];
const double large = 100000; //定義一個(gè)很大的值,去最小值時(shí)不會(huì)取到這個(gè)值
if(n[0]>0) //數(shù)目最少的書(shū)都至少有一本,因此此輪可以買1, 2, 3, 4, 5,本都行,去最小值,再遞歸
{
return Min(8.0+BuyBook(a, b, c, d, e-1),
2*8.0*0.95 + BuyBook(a, b, c, d-1, e-1),
3*8.0*0.9 + BuyBook(a, b, c-1, d-1, e-1),
4*8.0*0.80 + BuyBook(a, b-1, c-1, d-1, e-1),
5*8.0*0.75 + BuyBook(a-1, b-1, c-1, d-1, e-1));
}
else if(n[0]==0 && n[1]>0) //數(shù)目最少的一種沒(méi)了,就不能5種都買了
{
return Min(8.0+BuyBook(a, b, c, d, e-1),
2*8.0*0.95 + BuyBook(a, b, c, d-1, e-1),
3*8.0*0.9 + BuyBook(a, b, c-1, d-1, e-1),
4*8.0*0.80 + BuyBook(a, b-1, c-1, d-1, e-1),
large);
}
else if(n[0]==0 && n[1] == 0 && n[2]>0) //數(shù)目最少的2種沒(méi)了,最多買3種
{
return Min(8.0+BuyBook(a, b, c, d, e-1),
2*8.0*0.95 + BuyBook(a, b, c, d-1, e-1),
3*8.0*0.9 + BuyBook(a, b, c-1, d-1, e-1),
large,
large);
}
else if(n[0]==0 && n[1] == 0 && n[2] == 0 && n[3]>0) //數(shù)目最少的3種沒(méi)了,最多買2種
{
return Min(8.0+BuyBook(a, b, c, d, e-1),
2*8.0*0.95 + BuyBook(a, b, c, d-1, e-1),
large,
large,
large);
}
else if(n[0]==0 && n[1] == 0 && n[2] == 0 && n[3] == 0 && n[4]>0) //數(shù)目最少的4種沒(méi)了,最多買1種
{
return 8.0+BuyBook(a, b, c, d, e-1);
}
else
{
return 0;
}
}
int main()
{
int n[5] = {5,9,3,6,4};
cout<<BuyBook(n[0], n[1], n[2], n[3], n[4])<<endl;
}
最后結(jié)果為176
編程之美-買書(shū)問(wèn)題
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)权她,“玉大人虹茶,你說(shuō)我怎么就攤上這事∮缫” “怎么了蝴罪?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)步清。 經(jīng)常有香客問(wèn)我要门,道長(zhǎng),這世上最難降的妖魔是什么廓啊? 我笑而不...
- 正文 為了忘掉前任欢搜,我火速辦了婚禮,結(jié)果婚禮上崖瞭,老公的妹妹穿的比我還像新娘狂巢。我一直安慰自己,他們只是感情好书聚,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布唧领。 她就那樣靜靜地躺著,像睡著了一般雌续。 火紅的嫁衣襯著肌膚如雪斩个。 梳的紋絲不亂的頭發(fā)上,一...
- 那天驯杜,我揣著相機(jī)與錄音受啥,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛滚局,可吹牛的內(nèi)容都是我干的居暖。 我是一名探鬼主播,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼藤肢,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼太闺!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起嘁圈,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤省骂,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后最住,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體钞澳,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年涨缚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了轧粟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布讽膏,位于F島的核電站檩电,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏府树。R本人自食惡果不足惜俐末,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望奄侠。 院中可真熱鬧卓箫,春花似錦、人聲如沸垄潮。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)弯洗。三九已至旅急,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間牡整,已是汗流浹背藐吮。 一陣腳步聲響...
- 正文 我出身青樓迫摔,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親泥从。 傳聞我的和親對(duì)象是個(gè)殘疾皇子句占,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 問(wèn)題定義 兩個(gè)單向鏈表的頭指針,兩個(gè)鏈表都可能帶環(huán)1: 判斷這兩個(gè)鏈表是否相交2: 如果相交歉闰,給出他們相交的第一個(gè)...
- 問(wèn)題:有一個(gè)桶辖众,里面有白球、黑球各100個(gè)和敬,人們必須按照以下的規(guī)則把球取出來(lái): 每次從桶里拿出來(lái)兩個(gè)球凹炸。 如果是兩...
- 來(lái)自《編程之美》電梯調(diào)度問(wèn)題:亞洲微軟研究院所在的希格瑪大廈一共有6部電梯。在高峰時(shí)間昼弟,每層都有人上下啤它,電梯每層都...
- 《AETHER》(以太)這個(gè)作品是墨西哥視覺(jué)交互藝術(shù)家Thomas Sanchez Lengeling(托馬斯桑切...
- 1、抗拒學(xué)英文 在國(guó)內(nèi)幾乎所的編程語(yǔ)言都是外國(guó)的旬盯,所以學(xué)技術(shù)必定要學(xué)會(huì)看英文文檔台妆,如果不學(xué)英文,是絕對(duì)無(wú)法從菜鳥(niǎo)轉(zhuǎn)...