题解 CF1294A 【Collecting Coins】

这个题可以枚举,但是会严重超时,所以我们分析一下

如果每次四个数加起来除不了3,也就是不可能满足a + A = b + B = c + C,满足这个条件只有可能分三份

第二,就算可以分三份,如果a或者b或者c > 四个数之和除3,也不行,所以代码来了:

#include <iostream>
using namespace std;

int main()
{
    int t, a, b, c, n;
    cin >> t;
    for(int i = 1; i <= t; i++)
    {
        cin >> a >> b >> c >> n;
        int x = a + b + c + n;
		if(x % 3 != 0)
        {
			cout << "NO\n";
			continue;
		}
		x /= 3;
		if(a > x || b > x || c > x)
		{
		    cout << "NO\n";
        }
		else 
		{
		    cout << "YES\n";
        }
    }
    return 0;
}
posted @ 2020-09-27 20:35  HappyBobb  阅读(15)  评论(0)    收藏  举报  来源