首页 > 代码库 > 1449 砝码称重(思维)
1449 砝码称重(思维)
题目链接:https://www.51nod.com/onlineJudge/submitDetail.html#!judgeId=259281
题解:这题有一个技巧,毕竟是w^0,w^1,w^2....这样,必然会想到w进制,而且就只能用一次。
那么就简单了,把m拆成w进制,然后就自行解决了。
#include <iostream>#include <cstring>using namespace std;typedef long long ll;ll num[40];int main() { ll n , m; cin >> n >> m; ll gg = m; int count = 0; while(gg) { num[count++] = gg % n; gg /= n; } int flag = 0; for(int i = 0 ; i < count ; i++) { if(num[i] >= 2) { if(num[i] != n - 1) {flag = 1; break;} num[i + 1]++; } } if(!flag) cout << "YES" << endl; else cout << "NO" << endl; return 0;}
1449 砝码称重(思维)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。