藍橋杯 歷屆試題 分糖果

2021-07-30 11:23:10 字數 734 閱讀 9687

題目鏈結

我的**:

#include

using namespace std;

int n;

int *cdy;

bool check()

{ for(int i=1;i

>n;

cdy=new int[n];

for(int i=0;i

>cdy[i];

while(!check())

{ int tmp=0;

for(int i=0;i

思考:

之前做的在注釋裡面,只能過樣例資料,後來在網上查了一下,發現大家基本上都是這個思路,但有一點不同的在於:大家預設所有的小朋友「同時」給左手邊的小朋友分糖果,但我的做法是認為「依次」給左邊的小朋友分糖果,導致執行超時。體現在**上就是注意遇到第乙個小朋友不是立即把他的一半分給最後乙個小朋友,而是等最後乙個小朋友分完以後再將第乙個小朋友分給他的糖果給他。

做這題是因為想起來前幾天省賽裡面乙個「包子」的問題,我沒有做出來,聽說是跟這個分糖果的題目很像,於是做了一下。做完以後想可能同學記錯了,這題用模擬可以做,17年省賽b組的「包子」題明顯是乙個數論的題

藍橋杯 歷屆試題 分糖果

歷屆試題 分糖果 時間限制 1.0s 記憶體限制 256.0mb 問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖...

藍橋杯 歷屆試題 分糖果

歷屆試題 分糖果 時間限制 1.0s 記憶體限制 256.0mb 問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖...

藍橋杯 歷屆試題 分糖果

藍橋杯 歷屆試題 分糖果 問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。你的任務是 在已知的初始...