本文主要是介绍uva 11300 - Spreading the Wealth(数论),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:uva 11300 - Spreading the Wealth
题目大意:有n个人坐在圆桌旁,每个人有一定的金币,金币的总数可以被n整除,现在每个人可以给左右的人一些金币,使得每个人手上的金币数量相等,问说最少移动的金币数额。
解题思路:假设xi为第i个人给左手边人的金币数量,那么就有a[i] - x[i]+ x[i + 1] = aver.那么
a[1] - x[1] + x[2] = aver -> x2 = aver - a[1] + x[1] -> x[2]= x[1] - c[1] (c[i]为∑a[j] - aver)
a[2] - x[2] + x[3] = aver -> x3 = aver - a[2] + x[2] = aver - a[2] + aver - a[1] + x[1] =
这篇关于uva 11300 - Spreading the Wealth(数论)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!