動物園內最受歡迎就是猴子了,因為它們除了能爬能跳外還會很多技能。其中a類猴子特別擅長爬樹摘桃,而b類猴子擅長把桃子掰成兩半。
a類猴子有n只,編號為1到n,b類猴子有m只,編號為1到m。a類猴子中的第k只摘到第乙個桃子需要花費a_k秒,此後每b_k秒就能摘到桃子;b類猴子中的第k只掰開第乙個桃子需要花費c_k秒,此後每d_k秒就能掰開乙個桃子。
不幸的是,b類猴子非常具有侵略性,兩種猴子不能同時待在場地內,因此,園長必須在a類猴子摘完所有桃子後立刻把它們帶走,然後立刻讓b類猴子進園;同樣當b類猴子把所有桃子全部掰開後也不能待在場地內太久,因為它們之間也會發生衝突,所有園長將在b類猴子掰開所有桃子後立刻送走它們。
園長帶走猴子和猴子進園的速度非常快,時間忽略不計。
alice非常喜歡看b類猴子掰桃子,告訴你表演的總時間,但不知道一共有多少個桃子,請你幫alice計算b類猴子進入動物園的時刻。
二分答案,判斷在二分時間內摘的桃子與掰開的桃子的大小關係,從而調整下一次二分。
#include
#include
#include
#define fo(i,j,k) for(int i=j;i<=k;i++)
#define fd(i,j,k) for(int i=j;i>=k;i--)
#define n 101
#define inf 1000000000
using
namespace
std;
int a[n][2];
int b[n][2];
int t,n,m;
bool check(int mid)
int main()
if(check(r)) cout
cout
<}
63猴子摘桃
程式設計訓練63猴子摘桃 問題描述 五隻猴子一起摘了一堆桃子,因為太累,五隻猴子決定先睡一覺再分。不久,其中乙隻猴子醒來了,它見別的猴子沒有醒來,便將一堆桃子平均分成 5 份,結果多了乙個,就將多的這個吃了,拿走其中的乙份並離開。又不久,第二隻猴 子醒來了,它不知道有乙個同伴已經拿走過桃子,便又將剩...
005猴子摘桃
猴子吃桃問題 猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了乙個。第二天早上又將第一天剩下的桃子吃掉一半,又多吃乙個。以後每天早上都吃了前一天剩下的一半零乙個。到第十天早上想再吃時,發現只剩下乙個桃子了。編寫程式求猴子第一天共摘了多少個桃子。include intmain void re...
(C語言)猴子摘桃
題目 乙個猴子摘了些桃子,第一天吃掉其中的一半然後多吃了1個,第二天照此方法又吃掉了剩下桃子的一半加1個,以後每天如此,直到第十天早上,猴子發現只剩下了1個桃子,請問猴子第一天總共摘了多少個桃子?輸出 a,b,c,d sum 分別表示 第九天早上沒有吃桃子之前桃子數,第八天早上沒有吃桃子之前桃子數,...