51 nod 砝码称重(贪心+进制转换思想)
来源:互联网 发布:爱玩网络充值 编辑:程序博客网 时间:2024/06/05 07:31
现在有好多种砝码,他们的重量是
样例解释:可以将重物和3放到一个托盘中,9和1放到另外一个托盘中。
第一行有两个整数w,m (2 ≤ w ≤ 10^9, 1 ≤ m ≤ 10^9)。
3 7
YES
挺难想的 m能否用天平称出来的关键是如何使天平平衡
如果物体m可以被称出来 可表示为 m + 一堆砝码(可能为0)= 另一堆砝码
由于砝码的重量是幂的形式并且个数只有一个
所以我们取出的一堆砝码的重量就可以表示为w进制下 一个由 0 1 组成的串
基于此 我们可以将m也转化成w进制
现在 判断物体m是否可以被称出来 就变成了 m + 一个w进制下由 0 1 组成的串 是否可以组成一个新的由 0 1 组成的串(另一堆砝码)
当由m转化成的w进制的某一位为0或者1时 给他它+0(理解为不作处理) 如果为w-1时 我们就给它+1(相当于加一个砝码) 使其进位 本位变为0 如果是其他情况 就不能转化成 0 1 组成的串 所以就不能称出
AC代码:
#include <stdio.h>int main (){ int w,m; scanf ("%d%d",&w,&m); while (m){ if (m%w==0||m%w==1){ m=m/w; } else if (m%w==w-1){ m=(m+1)/w; } else { printf ("NO\n"); return 0; } } printf ("YES\n"); return 0;}
阅读全文
1 0
- 51 nod 砝码称重(贪心+进制转换思想)
- 51NOD 1449 砝码称重(贪心+进制思想)
- 51nod1344-贪心&进制思想&好题-砝码称重
- 51nod 1449 砝码称重 (二进制思想)
- 51NOD 1449——砝码称重(贪心算法)
- 51nod 1449 砝码称重(经典贪心+进制)
- 51nod 1449 砝码称重,贪心
- 51Nod 砝码称重
- 51Nod 1449(砝码称重)
- 51nod 1837 砝码称重 (规律)
- 51node-1449 砝码称重(进制思想)
- 51nod 1449:砝码称重
- 51nod 1449 砝码称重
- 51nod 1449 砝码称重
- [51nod 1449]砝码称重
- 51NOD 1449 砝码称重
- 51nod 1449 砝码称重
- 51nod 1449 砝码称重
- 使用Jquery的validate插件的问题
- 兼容各大浏览器屏幕尺寸宽高设置
- 【Spring】Spring Framework Reference Documentation中文版18
- Centos 7 开放查看端口 防火墙关闭打开
- 源码分析MyCat之SQL解析篇-----sql解析引擎druid之抽象语法树(mycat1.6)
- 51 nod 砝码称重(贪心+进制转换思想)
- web.xml中context-param的配置作用
- unity模型轴心设置
- JFinal框架简单使用及增删查改分页功能实现
- 趣谈unicode,ansi,utf-8,unicode big endian这些编码有什么区别
- Nginx比Apache高效的原理
- eclipse打包APK的时候conversion to dalvik format failed with error 1
- Ubuntu14.04上编译指定版本的protobuf源码操作步骤
- MyEclipse 2015 反编译插件安装