問題描述:有不同分數的小孩排隊,怎麼分糖果使得糖果數最小,且分數高的小孩分到盡可能多的糖果。
分析:每個小孩至少可分到乙個糖果,且分數不固定,所以分數高的小孩要盡可能的只比旁邊的兩個人分的糖果多,而分數低的要盡可能的少。
解題思路:分別從前後進行掃瞄,讓每個小孩都能分到糖果,保證分數高的盡可能多於兩邊的。
#include #include #include #include #include using namespace std;
#define max_queue 10240 + 10
int main(int argc, char** ar**) ;
int i = 0;
cin >> i_queue[i++];
while (getchar() == ',')
vectorsuger(i, 1);
for (int i_idx = 1; i_idx < i; i_idx++)
for (int i_idx = i - 2; i_idx >= 0; i_idx--)
int min = 0;
for (int j = 0; j < i; j++)
min += suger[j];
cout << min << endl;
system("pause");
return 0;
}
例如:輸入5,4,1,1 輸出7 分糖果問題(java)
10個小孩圍成一圈分糖果,老師分給第乙個小孩10塊,第二個小孩2塊,第三個小孩8塊,第四個小孩22塊,第五個小孩16塊,第六個小孩4塊,第七個小孩10塊,第八個小孩6塊,第九個小孩14塊,第十個小孩20塊。然後所有的小孩同時將手中的糖分一半給右邊的小孩 糖塊數為奇數的人可向老師要一塊。問經過幾次後大...
分糖果問題 藍橋杯
問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。你的任務是 在已知的初始糖果情形下,老師一共需要補...
其他題目 分糖果問題
題目 一群孩子做遊戲,現在請你根據遊戲得分來發糖果,要求如下 1 每個孩子不管得分多少,起碼分到1個糖果 2 任意兩個相鄰的孩子之間,得分較多的孩子必須多拿一些糖果 給定乙個陣列arr代表得分陣列,請返回最少需要多少糖果。例如 arr 1,2,2 糖果分配 1,2,1 即可滿足要求且數量最少,所以返...