Pagini recente » Cod sursa (job #1717396) | Cod sursa (job #3195932) | Cod sursa (job #2318733) | Cod sursa (job #2680631) | Cod sursa (job #1370048)
#include<fstream>
#include<cmath>
#include<iomanip>
using namespace std;
ifstream f("cercuri.in");
ofstream g("cercuri.out");
int x1,y_1,x2,y2,r1,r2;
void solve()
{
long double d,sol;
d=sqrt( (x2-x1 )*(x2-x1) + ( y2-y_1 )*(y2-y_1) ) ;
if( d == 0 && r1==r2 ) { g<< "-1" <<'\n' ; return ; }
if( d== 0 && r1 != r2 ) { g<< "-2" <<'\n' ; return ; }
if(d > r1+r2 ) { g<< "-2" <<'\n' ; return ; }
if(d*d < (r1- r2 )*(r1-r2) ) { g<< "-2" <<'\n' ; return ; }
if(d == r1+r2 ) { g<< "-3" << '\n' ; return ; }
if(d*d == (r1- r2 )*(r1-r2) ) { g<< "-3" <<'\n' ; return ; }
sol = (double)1/d * sqrt( (double)( -d + r2 - r1 ) * (-d -r2 + r1 ) * ( -d + r2 + r1 ) * ( d + r1 + r2 ) );
g<<fixed<<setprecision(3)<<sol<<'\n';
}
int main()
{
int t;
f>>t;
while(t--)
{
f>>x1>>y_1>>r1>>x2>>y2>>r2;
solve();
}
return 0;
}