ヴァーニャは、大衆の負荷および重量を計量するための秤有しwは0、 wは1、 wは2、...、 wは100グラムwが以上である整数である2(各公称値の正確に一つの重量)。ヴァーニャは、彼は、質量でアイテムに重み付けすることができるかどうかを疑問に思うM重みはスケールのパンの両方に置くことができれば、所与の重みを使用して。正式に言えば、あなたのタスクは、大量のアイテム配置することが可能であるかどうかを判断することですメートルスケールのパンがバランスしていたように、スケールの右パンの上やスケールの左側皿の上にいくつかの重み、およびいくつかの重みを。
入力
最初の行は二つの整数含まW、 M(≤2 W ≤10 9、1≤ M 10≤ 9ウェイトの質量を規定する数とアイテムの質量- )。
出力印刷単語「YES」アイテム「を加重することができた場合、それができない場合はNO」。
例3 7
はい
100 99
はい
100 50
番号
最初のサンプルテストに注意してください。一個のパン塊のアイテム有することができ7と質量の重り3を、および第二パン塊二重み有することができ9と対応し、1。次いで、7 + 3 = 9 + 1。
第2のサンプルテストに注意してください。スケールの一個のパンは、質量の項目有することができ、99質量の1、及び第二パン塊の重量有することができる100。
第三のサンプルテストに留意されたいです。入力に記載の方法でアイテムの重量を測定することは不可能です。
ID-OJ:
codeforces-552Cの
著者:
Caution_Xの
提出日:
20191031個の
タグ:
アナログ
:記述モデリング
2つの数Mが与えられると、現在の残高、および複数の重み、wは、質量、0 ^ W、W ^ 1、^ W 2、W ^ 3 ... ^ W N。
そのようなバランスのバランスの質量mその重みの複数の貫通対象かどうかを尋ねた
主要なステップは、それを解決するために:
(1)右i番目の左の位置に格納されたW [I]ヘキサP、wはM進数に変換されサイズ
(2)もしあれば、I満たすのP [I] <= 1それはバランスがそのように(右の重量に対応する、Mを左進^ 1、I W Wに)バランスをとらなければならない
P [I]乃至(3)> 1 Pに変換するかどうかが判定される番号[I] <= 1つの&& P [I + 1] <= 1、 そのようなiがW-1であり、iは、+ 1ビットが0であるW-進ビットとして
それをP [ように書くことができます。 i]は= - 1、P [ I + 1] = 1、 最後に全てのp [に対して決定されていないI <= 1〜(P [i]は説明^ I -1重錘と体重M W同じ側)に
警告を表します:
それぞれの重量を一度だけ
ACコード:
#include <ビット/ STDC ++ H> 使用して 名前空間STDを、 int型 P [ 105 ]。 INT のmain() { int型、M、W。 CIN >> W M。 INTの ID = 1 。 一方、(M){ P [ID ++] = m個%のW。 M / = W。 } であれば(ID> 100 ){ COUT << " NO " << ENDL。 リターン 0 ; } のために(int型のI =1 ; iが<IDを、私は++ ){ 場合(P [I]> = W){ P [I + 1 ] ++ ; P [I] - = W。 } もし(P [i]が<= 1) 続けます。 他の 場合(P [I] == W- 1 ){ P [I] = 0 ; P [iが + 1 ++] 。 } 他{ COUT << " NO " << ENDL。 リターン 0; } } COUT << " YES " << ENDL。 リターン 0 ; }