POJ 1299 - Polar Explorer
http://poj.org/problem?id=1299
概要
半径 X の完全な球面上にいる. 今いる場所と墜落した場所の角度 Z が与えられるので,今ある燃料 Y でその場所まで往復できるかどうか答える.
燃料は1マイルあたり5消費する.
往復できるときは往復した後の燃料の残量も出力し,できないときは何マイルだったら往復できるかも出力する.
制約
- 1 <= X <= 100
- 0 <= Y <= 100
- 0 <= Z <= 360
解法
やるだけ.
poj/1299.cc1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 static const double PI = 3.14159; 7 string s; 8 while (cin >> s && s != "ENDOFINPUT") { 9 double r, g, t; 10 cin >> r >> g >> t >> s; 11 t = min(t, 360-t); 12 const double need = PI*r*t/450; 13 if (need < g + 1e-10) { 14 cout << "YES " << int(g - need) << endl; 15 } else { 16 cout << "NO " << int(5*g) << endl; 17 } 18 } 19 return 0; 20 }