#include <iostream>
#include <cmath>
#include <iomanip>
#include <string>
#include <sstream>
using namespace std;
bool parseDouble(const string& input, double& output) {
istringstream iss(input);
iss >> output;
return !iss.fail() && iss.eof();
}
int main() {
const double GRAVITASI = 10.0;
double s, v, t;
int status = 1;
string input;
cout << "Masukkan sudut peluncuran (0-90 derajat): ";
getline(cin, input);
if (!parseDouble(input, s) || s < 0 || s > 90) {
status = 0;
}
if (status == 1) {
cout << "Masukkan kecepatan awal (m/s): ";
getline(cin, input);
if (!parseDouble(input, v)) {
status = 0;
}
}
if (status == 1) {
cout << "Masukkan tinggi pohon (m): ";
getline(cin, input);
if (!parseDouble(input, t)) {
status = 0;
}
}
if (status == 0) {
cout << fixed << setprecision(2);
cout << "status : 0, ketinggian : 0.00" << endl;
return 0;
}
double s_radian = s * (M_PI / 180.0);
double ketinggian = pow(v * sin(s_radian), 2) / (2 * GRAVITASI);
cout << fixed << setprecision(2);
cout << "status : 1, ketinggian : " << ketinggian << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIHBhcnNlRG91YmxlKGNvbnN0IHN0cmluZyYgaW5wdXQsIGRvdWJsZSYgb3V0cHV0KSB7CiAgICBpc3RyaW5nc3RyZWFtIGlzcyhpbnB1dCk7CiAgICBpc3MgPj4gb3V0cHV0OwogICAgcmV0dXJuICFpc3MuZmFpbCgpICYmIGlzcy5lb2YoKTsKfQoKaW50IG1haW4oKSB7CiAgICBjb25zdCBkb3VibGUgR1JBVklUQVNJID0gMTAuMDsKICAgIGRvdWJsZSBzLCB2LCB0OwogICAgaW50IHN0YXR1cyA9IDE7CgogICAgc3RyaW5nIGlucHV0OwoKICAgIGNvdXQgPDwgIk1hc3Vra2FuIHN1ZHV0IHBlbHVuY3VyYW4gKDAtOTAgZGVyYWphdCk6ICI7CiAgICBnZXRsaW5lKGNpbiwgaW5wdXQpOwogICAgaWYgKCFwYXJzZURvdWJsZShpbnB1dCwgcykgfHwgcyA8IDAgfHwgcyA+IDkwKSB7CiAgICAgICAgc3RhdHVzID0gMDsKICAgIH0KCiAgICBpZiAoc3RhdHVzID09IDEpIHsKICAgICAgICBjb3V0IDw8ICJNYXN1a2thbiBrZWNlcGF0YW4gYXdhbCAobS9zKTogIjsKICAgICAgICBnZXRsaW5lKGNpbiwgaW5wdXQpOwogICAgICAgIGlmICghcGFyc2VEb3VibGUoaW5wdXQsIHYpKSB7CiAgICAgICAgICAgIHN0YXR1cyA9IDA7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzdGF0dXMgPT0gMSkgewogICAgICAgIGNvdXQgPDwgIk1hc3Vra2FuIHRpbmdnaSBwb2hvbiAobSk6ICI7CiAgICAgICAgZ2V0bGluZShjaW4sIGlucHV0KTsKICAgICAgICBpZiAoIXBhcnNlRG91YmxlKGlucHV0LCB0KSkgewogICAgICAgICAgICBzdGF0dXMgPSAwOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoc3RhdHVzID09IDApIHsKICAgICAgICBjb3V0IDw8IGZpeGVkIDw8IHNldHByZWNpc2lvbigyKTsKICAgICAgICBjb3V0IDw8ICJzdGF0dXMgOiAwLCBrZXRpbmdnaWFuIDogMC4wMCIgPDwgZW5kbDsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICBkb3VibGUgc19yYWRpYW4gPSBzICogKE1fUEkgLyAxODAuMCk7CiAgICBkb3VibGUga2V0aW5nZ2lhbiA9IHBvdyh2ICogc2luKHNfcmFkaWFuKSwgMikgLyAoMiAqIEdSQVZJVEFTSSk7CgogICAgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oMik7CiAgICBjb3V0IDw8ICJzdGF0dXMgOiAxLCBrZXRpbmdnaWFuIDogIiA8PCBrZXRpbmdnaWFuIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K