题目传送门
1 /*
2 题意:问是否能用质量为w^0,w^1,...,w^100的砝码各1个称出重量m,砝码放左边或在右边
3 暴力/进制转换:假设可以称出,用w进制表示,每一位是0,1,w-1。w-1表示砝码与物品放在一起,模拟判断每位是否ok
4 详细解释:http://blog.csdn.net/u011265346/article/details/46556361
5 总结:比赛时压根没往进制去想,连样例也不知道是怎么回事。。中文不行啊:(
6 */
7 #include <cstdio>
8 #include <cmath>
9 #include <cstring>
10 #include <algorithm>
11 using namespace std;
12
13 int main(void) //Codeforces Round #308 (Div. 2) C. Vanya and Scales
14 {
15 // freopen ("C.in", "r", stdin);
16
17 int w, n;
18 while (scanf ("%d%d", &w, &n) == 2)
19 {
20 if (n == 3) {puts ("YES"); continue;}
21
22 while (n)
23 {
24 int tmp = n % w;
25 if (tmp <= 1) n /= w;
26 else if (tmp == w - 1) n = n / w + 1;
27 else {puts ("NO"); break;}
28 }
29
30 if (!n) puts ("YES");
31 }
32
33 return 0;
34 }