Problem Link : http://lightoj.com/volume_showproblem.php?problem=1433
Solution :
#include<bits/stdc++.h>
#define PI acos(-1.0)
using namespace std;
double cosinv(double angle)
{
return acos(angle)*(180/PI);
}
int main()
{
int t;
scanf("%d",&t);
double ox,oy,ax,ay,bx,by,r,s,angle,a;
for(int ca=1; ca<=t; ca++)
{
scanf("%lf%lf%lf%lf%lf%lf",&ox,&oy,&ax,&ay,&bx,&by);
r=sqrt(((ox-ax)*(ox-ax))+((oy-ay)*(oy-ay)));
a=sqrt(((ax-bx)*(ax-bx))+((ay-by)*(ay-by)));
angle=(2*(r*r)-(a*a))/(2*r*r);
angle=cosinv(angle);
angle=(angle*PI)/180;
s=r*angle;
printf("Case %d: %f\n",ca,s);
}
}
Solution :
#include<bits/stdc++.h>
#define PI acos(-1.0)
using namespace std;
double cosinv(double angle)
{
return acos(angle)*(180/PI);
}
int main()
{
int t;
scanf("%d",&t);
double ox,oy,ax,ay,bx,by,r,s,angle,a;
for(int ca=1; ca<=t; ca++)
{
scanf("%lf%lf%lf%lf%lf%lf",&ox,&oy,&ax,&ay,&bx,&by);
r=sqrt(((ox-ax)*(ox-ax))+((oy-ay)*(oy-ay)));
a=sqrt(((ax-bx)*(ax-bx))+((ay-by)*(ay-by)));
angle=(2*(r*r)-(a*a))/(2*r*r);
angle=cosinv(angle);
angle=(angle*PI)/180;
s=r*angle;
printf("Case %d: %f\n",ca,s);
}
}
No comments:
Post a Comment