魔法師百小度也有遇到難題的時候——
現在,百小度正在乙個古老的石門面前,石門上有一段古老的魔法文字,讀懂這種魔法文字需要耗費大量的能量和大量的腦力。
過了許久,百小度終於讀懂魔法文字的含義:石門裡面有乙個石盤,魔法師需要通過魔法將這個石盤旋轉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
0
#include #include#includeusing namespace std;
int main()
else
}cout << ans << endl;
} return 0;
}
hdu 3629 計算幾何
這道題想了很久都沒想出來什麼高效一點的方法,所以就在網上膜拜了大牛的思路。主要思想就是去掉點對之間的凸包,因為凸包一定是乙個三角形中包含乙個點,那我們就可以對於每個點判斷有多少個三角形能把它包含在內 判斷可以用逆向思維,就是所有三角形的個數減去有多少個三角形不能把它包含在內,然後通過極角排序來求出不...
hdu6242 計算幾何
題意 給你n個點,要求找到乙個點,和乙個圓心,使得有n 2向上取整個點在圓上,一定有滿足條件的點存在 題解 既然一定有解,而且圓上有n 2向上取整個點,那麼我們可以通過隨機來找三個點來確定乙個圓心,和半徑,可以看出這三個點在圓上的概率是很大的,注意要特判點數為1,2,3,4的情況 ps 一開始想的是...
hdu 3681 計算幾何
還是太粗心了阿,求直線上的點到兩點間距離和的最小值 搞了好久阿,a點和b點有可能在直線的同側也可能在異側 view code include include const double eps 1e 9 struct pointa,b,c,a1,node double dis point a,poin...