#include #include #include #include using namespace std; class vec2 { public: vec2(long double x, long double y) : x(x), y(y) {} vec2 operator+(const vec2& v2) const { return {x+v2.x, y+v2.y}; } vec2 operator-(const vec2& v2) const { return {x-v2.x, y-v2.y}; } friend vec2 operator*(long double r, const vec2& v2) { return {r*v2.x, r*v2.y}; } long double norm() const { return sqrt(x*x + y*y); } vec2 normalize() const { return (1/(norm()))*(*this); } private: long double x, y; }; long double diff(vec2 A, vec2 B, vec2 C) { vec2 AB = (0.5*(B-A)); long double r = (AB).norm(); vec2 S = A + AB; vec2 N = r*((C-S).normalize())+S; return (C-N).norm(); } int main() { long double Ax, Ay, Bx, By, Cx, Cy; cin >> Ax >> Ay >> Bx >> By >> Cx >> Cy; vec2 A(Ax, Ay); vec2 B(Bx, By); vec2 C(Cx, Cy); long double res; res = diff(A, B, C); res = min(res, diff(B, A, C)); res = min(res, diff(C, A, B)); res = min(res, diff(C, B, A)); res = min(res, diff(A, C, B)); res = min(res, diff(B, C, A)); cout <> Ax >> Ay >> Bx >> By >> Cx >> Cy; // //cout << diff(Ax, Ay, Bx, By, Cx, Cy) << ", " << diff(Ax, Ay, Cx, Cy, Bx, By) << ", " << diff(Bx, By, Cx, Cy, Ax, Ay) << endl; // double res = diff(Ax, Ay, Bx, By, Cx, Cy); // res = min(res, diff(Ax, Ay, Cx, Cy, Bx, By)); // res = min(res, diff(Bx, By, Cx, Cy, Ax, Ay)); // cout <