有n堆紙牌,編號分別為 1,2,…,n。每堆上有若干張,但紙牌總數必為nnn的倍數。可以在任一堆上取若干張紙牌,然後移動。
移牌規則為:在編號為1堆上取的紙牌,只能移到編號為2的堆上;在編號為n的堆上取的紙牌,只能移到編號為n−1的堆上;其他堆上取的紙牌,可以移到相鄰左邊或右邊的堆上。
現在要求找出一種移動方法,用最少的移動次數使每堆上紙牌數都一樣多。
例如n=4,4堆紙牌數分別為:
①9②8③17④6
移動3次可達到目的:
從 ③ 取4張牌放到 ④ (9,8,13,10)-> 從 ③ 取3張牌放到 ②(9,11,10,10)-> 從 ② 取111張牌放到①(10,10,10,10)。
兩行第一行為:n(n 堆紙牌,1≤n≤100)
第二行為:a1,
a2,…
,a
na_1,a_2, … ,a_n
a1,a2
,…,
an (n堆紙牌,每堆紙牌初始數,1≤ai≤10000)
一行:即所有堆均達到相等時的最少移動次數。
49 8 17 6
#include
using
namespace std;
intmain()
sum/
=n;int cnt=0;
for(i=
0; i1; i++)}
cout
}
luogu P1031 均分紙牌
有n堆紙牌,編號分別為 1,2,n。每堆上有若干張,但紙牌總數必為n的倍數。可以在任一堆上取若干張紙牌,然後移動。移牌規則為 在編號為1堆上取的紙牌,只能移到編號為2的堆上 在編號為n的堆上取的紙牌,只能移到編號為n 1的堆上 其他堆上取的紙牌,可以移到相鄰左邊或右邊的堆上。現在要求找出一種移動方法...
洛谷1031 均分紙牌
題目 www.luogu.org 原位址 鍵盤輸入檔名。檔案格式 n n 堆紙牌,1 n 100 a1 a2 an n 堆紙牌,每堆紙牌初始數,l ai 10000 輸出格式 輸出至螢幕。格式為 所有堆均達到相等時的最少移動次數。4 9 8 17 6輸出樣例 1 3題解 這題有乙個好方法,因為每堆牌...
P1031 均分紙牌
有 nn 堆紙牌,編號分別為 1,2,n1,2,n 每堆上有若干張,但紙牌總數必為 nn 的倍數。可以在任一堆上取若干張紙牌,然後移動。移牌規則為 在編號為 11 堆上取的紙牌,只能移到編號為 22 的堆上 在編號為 nn 的堆上取的紙牌,只能移到編號為 n 1n 1 的堆上 其他堆上取的紙牌,可以...