AC <?php // Run Time(ms) 0 // Run Memory(KB) 212 $pi = 3.141592653589793; function check($x1, $y1, $x2, $y2, $x3, $y3) { if($x1 === $x2) { return 1; } if($x1 === $x3) { return 2; } if($x2 === $x3) { return 3; } if($y1 === $y2) { return 4; } if($y1 === $y3) { return 5; } if($y2 === $y3) { return 6; } return 0; } function swap(&$ax, &$ay, &$bx, &$by) { $ax = $ax + $bx; $bx = $ax - $bx; $ax = $ax - $bx; $ay = $ay + $by; $by = $ay - $by; $ay = $ay - $by; } while(fscanf(STDIN, "%f%f%f%f%f%f", $x1, $y1, $x2, $y2, $x3, $y3) != NULL){ if(($rst = check($x1, $y1, $x2, $y2, $x3, $y3)) != 0) { if($rst === 2 || $rst === 5) { swap($x2, $y2, $x3, $y3); } if($rst === 3 || $rst === 6) { swap($x1, $y1, $x3, $y3); } if($rst <= 3) { // x1 === x2 $rx = ($y1-$y3)*($y2-$y3)/(2.0*($x3-$x1))+($x1+$x3)/2.0; $ry = ($y1+$y2)/2.0; } else { // y1 === y2 $rx = ($x1+$x2)/2.0; $ry = ($x1-$x3)*($x2-$x3)/(2.0*($y3-$y1))+($y1+$y3)/2.0; } } else { $k1 = ($x2-$x1)/($y2-$y1); $k2 = ($x3-$x1)/($y3-$y1); $rx = (($y3-$y2)/2.0+$k1*($x1+$x2)/2.0-$k2*($x1+$x3)/2.0)/($k1-$k2); $ry = ($y1+$y2)/2.0-$k1*($rx-($x1+$x2)/2.0); } $circumference = sqrt(pow($rx-$x1,2)+pow($ry-$y1,2))*2*$pi; printf ("%01.2f/n", $circumference); }