1. 程式人生 > >第13屆景馳-埃森哲杯廣東工業大學ACM程式設計大賽 C-平分遊戲

第13屆景馳-埃森哲杯廣東工業大學ACM程式設計大賽 C-平分遊戲

C - 平分遊戲

思路:先看怎麼處理一個圈有n個人只給相鄰的人硬幣的解法,保證總數整除n是必然的,有個很明顯的情況就是如果A給了B,那麼B將不會再給A,這樣無疑是多餘的步驟,所以相鄰的兩個人AB之間要麼是AB,要麼是BA,那麼相鄰的第i1ii+1三個人,不妨假設第i個人給了第i1個人xi個硬幣,從第i+1個人中拿到了xi+1個硬幣,其中xi1可以是負數,代表是i1i硬幣,假設最終每個人有M個硬幣,初始狀態第i個人有ai個硬幣,那麼有以下等式:
對於第一個人,a1x

1+x2=M x2=Ma1+x1=x1C1(C1=a1M,)
對於第二個人,a2x2+x3=M x3=Ma2+x2=2Ma1a2+x1=x1C2
........
所有式子帶入之後其實就是求