TIOJ-1828
控控控之蘿莉控
https://tioj.ck.tp.edu.tw/problems/1828
Description
你走在路上遇到了一個可愛小蘿莉,因為你的控屬性,所以你跑上去問了她的名字:「小妹妹~你叫什麼名字啊?」
她回答:「啊!!!你幹嘛!我不認識你啊你誰啊!!!」
你:「我是你的好哥哥,來和我一起玩吧~」
這時機智的小妹妹拿起手機打了110
你決定要趕快逃跑,以免進入暗無天日的深淵
於是問題來了!
你要跑多快才不會被抓(你只能跑整數的速度)?
因為警察的體力有限,不能跑超過警局外的$10000$單位距離,所以逃出$10000$單位距離就好了
第一行有一個整數$T$代表測資筆數,
每行有三個無號整數$X,Y,Z$
$X$代表你現在跟警察局的距離,
$Y$代表小妹妹跟警察叔叔還要在$Y$秒才會講完電話,
$Z$代表講完電話後警察會馬上用秒速$Z$的速度沖上來追你
$0 \leq X,Y,Z \leq 10^6$
如果講完電話後,你還待在警察局門口,是會被抓的喔
注意你站在距警察局恰$10000$單位距離的點上也還是會被抓的喔
請輸出ㄧ個整數代表你至少要用多少的體力才不會被追悼
如果不管怎麼樣都會被追到請輸出 -1
Solution
是個大特判題呢
唯ㄧ會出現 -1
的case就是$X=Y=0$的時候,也就是ㄧ開始就被追上
首先可以知道人和警察兩個直線的差會與時間成線性
所以最小的差肯定是出現在端點
我們僅需要考慮剛出發那一刻和警察跨過$10000$那一刻,是否有被警察超前過即可
假設$T$是距離講完電話過了$T$秒,並且逃跑的速度是$V$
那麼可以列出式子
$$
X + (Y+T)V > TZ
$$
當$T$是$0$,可以知道$V$的最小值不是$0$就是$1$,取決於$X,Y$是否為0
當警察跨過$10000$時,$T=10000/Z$,移項一下可以得到$V > \frac{(10000-X)Z}{YZ+10000}$
不過注意$Z$必須不為$0$,若$Z$為$0$可以直接特判掉
AC code
|
|