1449 砝码称重 题目来源: CodeForces
2018-01-20 18:58
211 查看
F
现在有好多种砝码,他们的重量是 $w^0,w^1,w^2,...$ 每种各一个。问用这些砝码能不能表示一个重量为m的东西。
样例解释:可以将重物和3放到一个托盘中,9和1放到另外一个托盘中。
Input
单组测试数据。
第一行有两个整数w,m (2≤ w ≤ 10^9, 1 ≤ m ≤ 10^9)。
Output
如果能,输出YES,否则输出NO。
Sample Input
3 7
Sample Output
YES
来自 <https://vjudge.net/problem/description/78987?1516367853000>
#include<iostream>
using namespace std;
int main()
{
int w,m;
cin >> w >> m;
while (m != 0)
{
if (m % w == 1 || m % w == 0)
{
m = m / w;
}
else if (m % w == w - 1)
{
m = (m + 1) / w;//进位的思想
}
else
{
cout << "NO"<<endl;
return 0;
}
}
cout << "YES"<<endl;
//system("pause");
return 0;
}
参考 http://blog.csdn.net/mm__1997/article/details/72318511 集训第一天....这道题想了很久 最后上网百度了思路才做出来...题解说是贪心加进制转换 还是没太明白哪里用了贪心了...学艺不精啊
现在有好多种砝码,他们的重量是 $w^0,w^1,w^2,...$ 每种各一个。问用这些砝码能不能表示一个重量为m的东西。
样例解释:可以将重物和3放到一个托盘中,9和1放到另外一个托盘中。
Input
单组测试数据。
第一行有两个整数w,m (2≤ w ≤ 10^9, 1 ≤ m ≤ 10^9)。
Output
如果能,输出YES,否则输出NO。
Sample Input
3 7
Sample Output
YES
来自 <https://vjudge.net/problem/description/78987?1516367853000>
#include<iostream>
using namespace std;
int main()
{
int w,m;
cin >> w >> m;
while (m != 0)
{
if (m % w == 1 || m % w == 0)
{
m = m / w;
}
else if (m % w == w - 1)
{
m = (m + 1) / w;//进位的思想
}
else
{
cout << "NO"<<endl;
return 0;
}
}
cout << "YES"<<endl;
//system("pause");
return 0;
}
参考 http://blog.csdn.net/mm__1997/article/details/72318511 集训第一天....这道题想了很久 最后上网百度了思路才做出来...题解说是贪心加进制转换 还是没太明白哪里用了贪心了...学艺不精啊
相关文章推荐
- 51nod 1449 砝码称重(经典贪心+进制)
- 51nod 1449 砝码称重【进制数思维】
- 1449 砝码称重 51NOD
- 51nod 1449 砝码称重【天平/进制】
- 51Nod 1449(砝码称重)
- 51nod 1449 砝码称重
- 51nod 1449 砝码称重
- 51nod 1449 砝码称重
- 51NOD 1449 砝码称重(贪心+进制思想)
- 51nod-1449-砝码称重
- 51nod 1449 砝码称重
- 51nod 1449:砝码称重
- 51nod 1449:砝码称重
- CodeForces 砝码称重
- 博客题目来源(codeforces)简要
- 51nod 1449 砝码称重 (进制思想)
- 51nod 1449 砝码称重(思维+进制)
- [51nod 1449]砝码称重
- 51node-1449 砝码称重(进制思想)
- SSL P1072 砝码称重 题目