zoukankan      html  css  js  c++  java
  • 1449 砝码称重

    题目来源: CodeForces
    基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题

    现在有好多种砝码,他们的重量是 w0,w1,w2,...  每种各一个。问用这些砝码能不能表示一个重量为m的东西。

    样例解释:可以将重物和3放到一个托盘中,9和1放到另外一个托盘中。

    Input
    单组测试数据。
    第一行有两个整数w,m (2 ≤ w ≤ 10^9, 1 ≤ m ≤ 10^9)。
    Output
    如果能,输出YES,否则输出NO。
    Input示例
    3 7
    Output示例
    YES



    //仔细分析一下,可以知道,如果不是天平,那么,就是只有 0 和 1 组成的 w 进制数,是否可以为 m
    加了天平,就是问存不存在一对数相减得 w,那么,从最低位考虑起,是否可以组成即可,贪心
     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 
     4 #define INF 0x3f3f3f3f3f3f3f3f
     5 #define LL long long
     6 #define MX 1005
     7 
     8 LL w,m;
     9 
    10 int main()
    11 {
    12     scanf("%lld%lld",&w,&m);
    13     int ok =1, pre=0;
    14     while (m)
    15     {
    16         LL yu = m%w;
    17 
    18         if (yu - pre == 1)
    19             pre = 0;
    20         else if (yu - pre == w-1)
    21             pre = -1;
    22         else if (yu - pre == 0)
    23             pre = 0;
    24         else
    25         {
    26             ok=0;
    27             break;
    28         }
    29         m/=w;
    30     }
    31     if (ok)
    32         printf("YES
    ");
    33     else
    34         printf("NO
    ");
    35 
    36     return 0;
    37 }
    View Code



  • 相关阅读:
    Week14
    带你一文读懂Batch Normalization
    019_04简易相机
    019_03camera的调用
    019_02视频播放之VideoView
    019_01播放视频之SurfaceView
    018_04音效播放之MediaPlayer与SoundPool
    018_03简易美图
    018_02图片水印
    018_01图片特效
  • 原文地址:https://www.cnblogs.com/haoabcd2010/p/7582233.html
Copyright © 2011-2022 走看看