驢子拉蘿蔔的問題

2021-06-18 19:34:12 字數 1119 閱讀 2958

問題:

在全國房價**的大背景下,新疆的房價也像火箭一樣網上躥公升。這時阿凡提坐不住了。阿凡提雖然有個非常聰明的腦袋,但是沒有房子,也是找不到老婆滴。所以阿凡提打算經商,用他的小毛驢把蘿蔔從小鎮a運到沙漠的另一端的小鎮b販賣,中間的路程有1000km。阿凡提只有3000個蘿蔔,而驢每次最多只能背1000個蘿蔔,每走1km還會吃掉1個蘿蔔。問,阿凡提最多能賣多少個蘿蔔。(阿凡提最後在小鎮b找到的老婆,定居在那了,所以不用考慮阿凡提最後能不能回來)

解答:

我們先不管阿凡提神奇的小毛驢只吃乙個蘿蔔就可以走1km。但是我們發現,如果阿凡提讓小毛驢揹著1000個蘿蔔一直從a走到b,驢就會把蘿蔔全吃光,並且,阿凡提還回不去了,這是行不通的。仔細考慮,如果讓驢一直走1000km,走的越遠,驢的負載就越小。也就是說,一開始的時候,驢背了1000個蘿蔔,每公里要吃掉1個蘿蔔;走到998km的時候,驢才背了2個蘿蔔,每公里依舊吃掉1個蘿蔔,顯然越往後越沒有充分發揮神奇小毛驢的作用。

我們再這樣想,在沙漠這種很少有人的地方,我們不必擔心把蘿蔔中途放下會有人偷,所以我們可以考慮先將蘿蔔全部運到中途的某個位置,然後再繼續運。這個位置有什麼要求嗎?有!我們希望小毛驢從這個位置重新開始運的時候,是揹著最多的1000個蘿蔔開始的,這樣小毛驢就沒充分利用了。那我們應該在中途停幾次呢?2次,即中途第乙個位置剩2000個蘿蔔,中途第二個位置剩1000個蘿蔔,最後將1000個蘿蔔一次性運到b。

2是怎麼算出來的,這裡我們有乙個公式。假如最多有m個蘿蔔,小毛驢每次最多運n個,那麼中途停頓的次數k為:

k = m/n - 1;

如有2400個蘿蔔,毛驢每次最多運600個,則k = 3。

如上圖。下面就要求出x和y分別距離a的長度,即ax和ab。

很簡單,當在x處只剩下2000個蘿蔔的時候,有

3000 - 2*ax - 2ax - ax = 2000;

ax = 200。

同理,可得出xy = 1000/3.

那麼yb = 1400/3.

最後剩餘的蘿蔔t  = 1600/3 = 533.333.

取整為533個。

驢子的故事

公主是在河東岸邊遇見驢的。驢是黑色的,但白嘴白肚白蹄。驢說他會說話,驢說他是美驢。公主想過河去,河西的城堡裡有等著娶她的王子。河不算深,但她穿著一身美麗的嫁衣,她怕河水會浸濕她的衣裙。驢說 想讓我馱你過去嗎?你能保證不弄濕我的衣裙嗎?不能。那就算了,謝謝,公主微笑作答 我想王子會來接我。如果他不來呢...

商人胡蘿蔔問題

出處 乙個商人騎一頭驢要穿越1000公里長的沙漠,去賣3000根胡蘿蔔。已知驢一次性可馱1000根胡蘿蔔,但每走1公里又要吃掉1根胡蘿蔔。問 商人最多可賣出多少胡蘿蔔?要使到達終點的蘿蔔最多,就不能浪費,要麼到達了終點,要麼被吃在了路上。所以要把3000個蘿蔔整體的前移,一次只可以帶1000個蘿蔔,...

問題 B 吃蘿蔔

時間限制 1 sec 記憶體限制 128 mb 狀態 提交 命題人 admin 兔子有n盒胡蘿蔔,編號0到n 1,第i盒包含a i 根胡蘿蔔。她決定從這些盒子裡總共吃k根胡蘿蔔。她一次只吃一根胡蘿蔔,每次從胡蘿蔔最多的盒子裡選乙個胡蘿蔔吃。如果有多個滿足條件的盒子,她將選擇其中編號最小的盒子。輸出最...