其他分享
首页 > 其他分享> > [CF552C] Vanya and Scales - 贪心

[CF552C] Vanya and Scales - 贪心

作者:互联网

[CF552C] Vanya and Scales - 贪心

Description

能否通过 w 的幂次(不重复)的加减得到 m

Solution

考虑 w>2 的情况,当前最低幂次,我们能取的无非是 +1,0,-1,且取完后剩余的一定得被 w 整除,那么我们只要根据这个条件贪心调整就可以了

#include <bits/stdc++.h>
using namespace std;

signed main()
{
    int w, m;
    cin >> w >> m;
    if (w == 2)
        cout << "YES" << endl;
    else
    {
        while (m)
        {
            if ((m + 1) % w == 0)
                ++m;
            if ((m - 1) % w == 0)
                --m;
            if (m % w == 0)
                m /= w;
            else
            {
                cout << "NO" << endl;
                return 0;
            }
        }
        cout << "YES" << endl;
    }
}

标签:Vanya,能取,幂次,Scales,CF552C,贪心
来源: https://www.cnblogs.com/mollnn/p/14408238.html