438-the circumference of the Circle
Time limit:3.000 seconds
Http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem &problem=379
To calculate the circumference of a circle seems to is an easy task-provided your know its diameter. But What if you don ' t?
You are are given the Cartesian coordinates of three non-collinear points in the plane.
The Your job is to calculate the circumference of the unique circle this intersects all three points.
Input specification
The input file would contain one or more test cases. Each test case consists of the containing six real numbers
, representing the coordinates of the three points. The diameter of the circle determined by the three points'll never exceed a million. The Input is terminated by the end of file.
Output specification
For each test case, print one line containing one real number telling the circumference of the circle determined by the TH Ree points. The circumference is printed accurately rounded to two decimals. The value of
is approximately 3.141592653589793.
Sample Input
0.0-0.5 0.5 0.0 0.0 0.5 0.0 0.0 0.0 1.0 1.0 1.0 5.0 5.0 5.0 7.0 4.0 6.0 0.0 0.0-1.0 7.0 7.0 7.0
50.0 50. 0 50.0 70.0 40.0 60.0 0.0 0.0 10.0 0.0 20.0 1.0 0.0-500000.0
500000.0 0.0 0.0 500000.0
Sample Output
3.14
4.44
6.28
31.42
62.83
632.24
3141592.65
r=abc/(4S)
Complete code:
/*0.018s*/
#include <cstdio>
#include <cmath>
const DOUBLE PI = 2 * acos (0);
int main ()
{
double x1, y1, x2, y2, x3, Y3, xx1, Yy1, xx2, Yy2, xx3;
while (~SCANF ("%lf%lf%lf%lf%lf%lf", &x1, &y1, &x2, &y2, &x3, &y3))
{
xx1 = x2-x1, yy1 = Y2-y1, xx2 = x3-x1, Yy2 = y3-y1, xx3 = x3-x2, yy3 = y3-y2;
printf ("%.2f\n", pi * hypot (xx1, yy1) *hypot (xx2, Yy2) *hypot (xx3, Yy3)/fabs (XX1 * yy2-xx2 * yy1));
return 0;
}
See more highlights of this column: http://www.bianceng.cnhttp://www.bianceng.cn/Programming/sjjg/