Cod sursa(job #913663)

Utilizator freak93Adrian Budau freak93 Data 13 martie 2013 18:00:33
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

typedef long double ldd;

int main() {
    ifstream cin("deepest.in");
    ofstream cout("deepest.out");

    int X, Y, D; cin >> X >> Y >> D;

    if (D * D == X * X + Y * Y) {
        cout << "Single staircase\n";
        return 0;
    }

    if (D * D < X * X + Y * Y) {
        cout << "Impossible\n";
        return 0;
    }

    ldd V = ldd(1) * X * X + ldd(1) * Y * Y;
    V = sqrt(V);
    ldd MUT = (D - V) / ldd(2);
    
    ldd XA = ldd(X) + ldd(X) / V* MUT;
    ldd YA = ldd(Y) + ldd(Y) / V * MUT;

    cout.setf(ios::fixed, ios::floatfield);
    cout.precision(10);
    cout << XA << " " << YA << " " << MUT << "\n";
}