Cod sursa(job #2595465)

Utilizator valentin12Valentin Ion Semen valentin12 Data 7 aprilie 2020 19:41:16
Problema Trapez Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <math.h>
#include <bits/stdc++.h>

using namespace std;
ifstream f("cercuri.in");
ofstream g("cercuri.out");
double xa,xb,r1,r2,ya,yb,t,k,arie,p,dist,dif;
int main()
{
f>>t;
for(k=1;k<=t;k++)
{
f>>xa>>ya>>r1>>xb>>yb>>r2;
if(xa==xb&&ya==yb&&r1==r2) g<<-1<<'\n';
else
{
dist=sqrt((xb-xa)*(xb-xa)+(yb-ya)*(yb-ya));
dif=abs(r1-r2);
if(dist>r1+r2||abs(r1-r2)>dist) g<<-2<<'\n';
else if(dist==r1+r2||abs(r1-r2)==dist) g<<-3<<'\n';
else if(dif<dist)
{
p=(r1+r2+dist)/2;
arie=sqrt(p*(p-r1)*(p-r2)*(p-dist));
g<<fixed<<setprecision(3)<<arie*4/dist<<'\n';
}
else if(dif>dist)
{
p=(r1+r2+dif)/2;
arie=sqrt(p*(p-r1)*(p-r2)*(p-dif));
g<<fixed<<setprecision(3)<<arie*4/dif<<'\n';
}


}
}

    return 0;
}