做题笔记 CF478A 【Initial Bet】

考虑无论怎么传硬币硬币的总数量始终不变

同时又由于一开始所有人的硬币数量都是一样的,那么也就是告诉我们 b 是不变的。

b 不变,而硬币总数不变,所以此题等价于求这五个数的平均数是多少。

需要注意无解情况除了平均数是小数外,五个数相加为零(i.e. 平均数为 0)也是无解的。

代码:

//Code By "BlueInRed" OR Wenhao Wu
#include <iostream>
#include <stdio.h>

using namespace std;

int a, b, c, d, e;

int main()
{
    cin >> a >> b >> c >> d >> e;
    int ans = (a + b + c + d + e) / 5;
    if (ans == 0 || (a + b + c + d + e) % 5 != 0)
    {
        cout << -1 << endl;
    }
    else
    {
        cout << ans << endl;
    }
    return 0;
}
原文地址:https://www.cnblogs.com/BlueInRed/p/12617515.html