[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;
    }
}

相关文章:

  • 2022-02-17
  • 2022-02-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-13
猜你喜欢
  • 2021-07-05
  • 2021-05-31
  • 2022-01-20
  • 2021-09-06
  • 2021-10-16
  • 2021-05-11
相关资源
相似解决方案