51nod 1449 砝码称重(贪心算法)

题目:传送门

题意:中文题。

题解:左物右码,w进制m%w==0||m%w==1||m%w==w-1都是可以的,否则是NO

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
    //左物右码 开始把物品放在左边
    long long w,m;
    while(cin>>w>>m)
    {
        while(m)
        {
            if(m%w==0||m%w==1) //不放砝码或者把砝码放在右边
            m/=w;
            else if(m%w==(w-1)) //把砝码放在左边
            m=m/w+1;
            else
            {
                puts("NO");
                goto next;
            }
        }
        puts("YES");
        next:;
    }
    return 0;
}
原文地址:https://www.cnblogs.com/Ritchie/p/5764297.html