Problem Description
魔法師百小度也有遇到難題的時候——
如今,百小度正在一個古老的石門面前,石門上有一段古老的魔法文字。讀懂這樣的魔法文字須要耗費大量的能量和大量的腦力。
過了許久,百小度最終讀懂魔法文字的含義:石門裡面有一個石盤。魔法師須要通過魔法将這個石盤旋轉X度,以使上面的刻紋與天相相應,才幹打開石門。
可是,旋轉石盤須要N點能量值,而為了解讀密文,百小度的能量值僅僅剩M點了!破壞石門是不可能的。由于那将須要很多其它的能量。隻是。幸運的是。作為魔法師的百小度可以耗費V點能量,使得自己的能量變為如今剩餘能量的K倍(魔法師的世界你永遠不懂。誰也不知道他是怎麼做到的)。比方。如今百小度有A點能量,那麼他可以使自己的能量變為(A-V)*K點(能量在不論什麼時候都不可以為負。即:假設A小于V的話,就不可以運作轉換)。
然而。在解讀密文的過程中,百小度預支了他的智商,是以他如今不知道自己是否可以旋轉石盤。打開石門。你能幫幫他嗎?
Input
輸入資料第一行是一個整數T,表示包括T組測試例子;
接下來是T行資料。每行有4個自然數N,M,V,K(字元含義見題目描寫叙述);
資料範圍:
T<=100
N,M,V,K <= 10^8
Output
對于每組資料,請輸出最少做幾次能量轉換才可以有足夠的能量點開門;
假設無法做到,請直接輸出-1。
Sample Input
410 3 1 2
10 2 1 2
10 9 7 3
10 10 10000 0
Sample Output
3-1
-1
百度之星資格賽落幕,收錄一下當中的試題。整理一下自己寫的代碼。
這是第一題,水題了。
隻是好像讓不少人惱火。
事實上也是非常easy的了。就是注意兩點:
1 轉換能量是小于等于原來的能量的時候就跳出循環。表示不能成功打開魔法門了。
2 轉換過程中有可能是大于整形的數,須要使用long long型