CSU OJ 2148 夢皮神
阿新 • • 發佈:2018-08-18
pan script code lose tac desc bsp color else
Description
Wells最近經常做一些有皮神出現的夢。
在這一次夢中Wells把皮神(Pikachu)弄丟了,Wells在一個正 N 邊形區域的中心開始自閉,Wells想找回皮神,同時皮神也在嘗試找回Wells。
皮神為了確保不會找不到Wells,皮神在正 NN 邊形最外圍的每個頂點上都放置了一個分身。分身按照順時針方向,用 1...N1...N 標號,每個分身 ii 都會朝 i+1i+1 號分身以一個固定的速度移動,移動方向會隨著 i+1i+1 位置變化而變化,一直到某個分身在運動時視線中出現Wells,皮神才會停下來,並撲上去給Wells一個Warming的抱抱(還可以順便電幾下……)。
現在,皮神想知道,最糟糕的情況下她需要多少時間才能夠找回Wells。
Input
多組數據,組數不超過 10001000 組
對於每組數據給出一行,每行三個整數 N,A,VN,A,V 分別表示正多邊形區域的邊數,正多邊形區域的邊長, 皮神的每個分身移動的速度
N<=300,A<=400000,V<=10000N<=300,A<=400000,V<=10000
Output
對於每組數據輸出一行,每行包含一個實數,表示最壞情況下皮神尋找的時間,保留小數點後 55 位。
當答案的絕對誤差或者相對誤差小於 0.010.01 % ,即10?410?4 被認為與答案相同。
ps:不必糾結單位的問題
Sample Input
3 10 5 4 20 8
Sample Output
1.33333 2.50000
題解:這是一個追擊問題,圖形由大道小,直到為一個點,形狀不變;可以考慮前一個追後一個,將速度分解:
參考代碼:
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 using namespace std; 6 #define PI acos(-1) 7 int main() 8 { 9 int N; 10 double A,V,X;View Code11 while(scanf("%d%lf%lf",&N,&A,&V)!=EOF) 12 { 13 X=PI*(N-2)/(2.0*N); 14 if(N==3) printf("%.5lf\n",A/(2.0*V*cos(X)*cos(X))); 15 else printf("%.5lf\n",A/(2.0*V*cos(X)*cos(X))); 16 } 17 18 return 0; 19 }
CSU OJ 2148 夢皮神