#include <iostream>
#include <cmath>
#include <vector>
#include <string>
 
using namespace std;
 
const double g = 9.8; // gravitasi
 
// Struktur untuk menyimpan data burung
struct Burung {
    string nama;
    double kecepatan;       // m/s
    double sudut_derajat;   // derajat
};
 
// Fungsi menghitung ketinggian maksimum
double hitungKetinggianMaks(double kecepatan, double sudut_derajat) {
    double sudut_radian = sudut_derajat * M_PI / 180.0;
    return pow(kecepatan * sin(sudut_radian), 2) / (2 * g);
}
 
int main() {
    int jumlahBurung;
 
    cout << "Masukkan jumlah burung: ";
    cin >> jumlahBurung;
 
    vector<Burung> burungList(jumlahBurung);
 
    // Input data untuk setiap burung
    for (int i = 0; i < jumlahBurung; ++i) {
        cout << "\nBurung ke-" << i + 1 << ":" << endl;
        cout << "Nama burung: ";
        cin >> burungList[i].nama;
        cout << "Kecepatan awal (m/s): ";
        cin >> burungList[i].kecepatan;
        cout << "Sudut terbang (derajat): ";
        cin >> burungList[i].sudut_derajat;
    }
 
    // Menampilkan hasil
    cout << "\n=== HASIL PREDIKSI KETINGGIAN MAKSIMUM ===\n";
    for (const auto& burung : burungList) {
        double h_max = hitungKetinggianMaks(burung.kecepatan, burung.sudut_derajat);
        cout << "Burung " << burung.nama << " -> Ketinggian maksimum: " << h_max << " meter\n";
    }
 
    return 0;
}