分糖果問題

2021-09-16 21:19:01 字數 727 閱讀 2504

問題描述:有不同分數的小孩排隊,怎麼分糖果使得糖果數最小,且分數高的小孩分到盡可能多的糖果。

分析:每個小孩至少可分到乙個糖果,且分數不固定,所以分數高的小孩要盡可能的只比旁邊的兩個人分的糖果多,而分數低的要盡可能的少。

解題思路:分別從前後進行掃瞄,讓每個小孩都能分到糖果,保證分數高的盡可能多於兩邊的。

#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 即可滿足要求且數量最少,所以返...