nefuoj 1120 天平稱重

2021-07-09 19:24:47 字數 882 閱讀 9950

字串現在有好多種砝碼,他們的重量是 w^0,w^1,w^2,...   每種各乙個。問用這些砝碼能不能表示乙個重量為m的東西。

多組測試資料。

第一行有兩個整數w,m (3 ≤ w ≤ 10^9, 1 ≤ m ≤ 10^9)。

如果能,輸出yes,否則輸出no。

3 7

3 12

no

yes

題解:這道題就是簡單的貪心演算法的題,只要有勇氣做下去就能ac;

code:

#include #include using namespace std;

long long int a[100000000];//定義陣列用來存不同指數冪的數,定小了會ce,所以乾脆定乙個特別大的陣列;

int main()

//這裡注意最後的a[i]是乙個比m大的數哦;

//這裡是貪心演算法的核心,每次都減去不大於m的w的i次冪,判斷最後能不能是m恰好為0;

while(m&&i)//跳出條件:m恰好為0,即滿足條件,或者i變成0依舊沒能使m為0,即不能滿足條件;

if(m==0)

puts("yes");//puts語句自帶『\n』哦;

else

puts("no");

}return 0;

}

補充:

在函式以外定義陣列一般最大只能定義到1000,000,000左右,函式內最大定義到60,000;

POJ 1837 天平問題

主要參考 題目 題意 有乙個天平,左臂右臂各長15,然後給出n,m,n代表有幾個掛鉤,掛鉤給出負數代表在左臂的距離,正數則在右臂 m代表有m個砝碼,要你求出使得這個天平保持平衡有幾種方法,要求所有砝碼全部使用完 思路 首先我們先要明確dp陣列的作用,dp i j 中,i為放置的砝碼數量,j為平衡狀態...

UVa 1354天平難題

參考 主要思想 列舉二叉樹 計算寬度 如果只有1個葉子,直接輸出寬度為0 否則,從第2個 一定有根節點 1 開始一層一層挨個列舉編號為num的節點的值,直到用完所有w。計算寬度時,從最後乙個填入的節點往前計算以它為中心的左右的長度,左邊為負,右邊為正,一直算到根節點 num 1 r 1 l 1 就是...

codevs 2866 天平系統2

乙個天平,砝碼分別為1g 3g 9g 27g 6561g,每個砝碼只有乙個,要稱重的物品放在天平的左側,而砝碼允許放在天平的左右兩側。已知乙個物品的重量,問如何稱重?試程式設計解決。乙個重量n 所使用的砝碼重量,按從大到小的順序輸出。其中與物品異側的砝碼用正號表示,與物品同側的砝碼用負號表示。第乙個...