1449 砝碼稱重
codeforces
基準時間限制:1 秒 空間限制:131072 kb 分值: 40
難度:4級演算法題
現在有好多種砝碼,他們的重量是 w0
,w1,
w2,.
..每種各乙個。問用這些砝碼能不能表示乙個重量為m的東西。
樣例解釋:可以將重物和3放到乙個托盤中,9和1放到另外乙個托盤中。
input
單組測試資料。output第一行有兩個整數w,m (2 ≤ w ≤ 10^9, 1 ≤ m ≤ 10^9)。
如果能,輸出yes,否則輸出no。input示例
3 7output示例
yes
///思維題
/*題解:
將所有的砝碼重量看成w進製數,則多個砝碼的重量和為1,0組成的w進製數。
而本題可將問題轉換成m是否可以表示成兩個由01組成的w進製數的差
兩個01組成的數相差即只有下面四種情況:
0-0=0, 1-0=1, 0-1=w-1(向高位錯一后) 1-1=0
(注:每個砝碼只有乙個,故01組成的數,中每一位只有乙個為1,另乙個為0,例如1010,0101)
*/#includeusing namespace std;
int w,m;
int main()
}puts("yes");
return 0;
}
51nod 1449 砝碼稱重
好題。如果答案為yes,則m可以表示為 m a 0 w 0 a 1 w 1 如果等號左右兩邊同時減去a 0 w 0,即1 1或者0,等號右邊必然是w的倍數,也就是說,等號左邊也必然是w的倍數。也就是說,如果m m 1或者m 1其中有乙個為w的倍數,那麼才能使得等式成立。必要不充分條件 等式左右兩邊同...
51nod 1449 砝碼稱重
現在有好多種砝碼,他們的重量是 w0,w1,w2,每種各乙個。問用這些砝碼能不能表示乙個重量為m的東西。單組測試資料。第一行有兩個整數w,m 2 w 10 9,1 m 10 9 如果能,輸出yes,否則輸出no。input 3 7 output yes 樣例解釋 樣例解釋 可以將重物和3放到乙個托盤...
51nod1449 砝碼稱重
現在有好多種砝碼,他們的重量是 w0,w1,w2,每種各乙個。問用這些砝碼能不能表示乙個重量為m的東西。樣例解釋 可以將重物和3放到乙個托盤中,9和1放到另外乙個托盤中。單組測試資料。第一行有兩個整數w,m 2 w 10 9,1 m 10 9 如果能,輸出yes,否則輸出no。3 7yes 發現網上...