codeforces 1473A

发布时间:2024年01月18日

半个多月没训练了,这要上课了,先恢复训练一下hhh
这是一道很简单的思维
题目链接

题目大意

给定 a , b , c a,b,c a,b,c三个整数,每次操作可任选其中一个数让他减少 1 1 1,每到 7 7 7的倍数次会让三个数同时减少 1 1 1,问是否有可能在某次让三个数同时等于 0 0 0

思路

发现每连续减去六次 1 1 1会减去一次 3 3 3,所以符合答案的三个数的和一定严格是 9 9 9的倍数。考虑到三个数要同时减到 0 0 0,而且除了 7 7 7的倍数次的操作我们都可以选择较大的两个数,所以我们需要比较最小的数和三个数一起减 1 1 1的次数,当前者大于等于后者则满足条件

Accode

#include<bits/stdc++.h>

using namespace std;

using ll = long long;

void solve()
{
    ll a, b, c;cin >> a >> b >> c;
    if ((a + b + c) % 9 == 0) {
        ll d = (a + b + c) / 9;
        ll e = min(a, min(b, c));
        if (e >= d)cout << "YES" << '\n';
        else cout << "NO" << '\n';
    }
    else cout << "NO" << '\n';
}

int main()
{
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    int t;cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}
文章来源:https://blog.csdn.net/weixin_70831807/article/details/135680303
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。