有n個(gè)小朋友,每人手中有若干氣球,現(xiàn)在老師帶領(lǐng)他們做游戲,小朋友站成一排,每個(gè)人可以將手中的若干只氣球傳給(左右)相鄰的人,但是排頭只能傳給下一個(gè),排尾只能傳給上一個(gè),當(dāng)每個(gè)人手中氣球數(shù)一樣多時(shí)游戲結(jié)束,求所有人傳球次數(shù)和最小為多少?
例如:有4人,設(shè)有手中氣球數(shù):1??2??5??4
????????????答案為3
???????????小朋友A?B?C?D
???????????第一次D給C一個(gè)氣球數(shù)?1?2?6?3
???????????第二次C給B三個(gè)?????????????1?5?3?3
???????????第三次B給A兩個(gè)?????????????3?3?3?3
???如何用代碼實(shí)現(xiàn)?人數(shù)和氣球數(shù)由鍵盤輸入
2 回答

asd8532
TA貢獻(xiàn)143條經(jīng)驗(yàn) 獲得超187個(gè)贊
#include?<iostream> using?namespace?std; int?main() { int?a[100]; int?n; int?ave,sum=0; cin>>n; for(int?i=0;i<n;i++){ cin>>a[i]; sum?+=?a[i]; } ave?=?sum/n; int??count?=?0; int??tcount=0; int??tsum=0; for(int?i=0;i<n;i++){ tsum?+=?a[i]; tcount?+=?1; if(tsum/tcount?==?ave) { count?+=?(tcount-1); tcount?=?1; tsum?=?0; continue; } } cout<<count<<endl; return?0; }//我覺(jué)得不對(duì)
- 2 回答
- 0 關(guān)注
- 1204 瀏覽
添加回答
舉報(bào)
0/150
提交
取消