#include #include using namespace std; //double dist(double x1, double x2, double y1, double y2, double z1, double z2, double check1, double check2){ //} int verify_one(int x1, int x2,int y1,int y2, int z1,int z2) { int zx1 = z1-x1; int zx2 = z2-x2; int zy1 = z1-y1; int zy2 = z2-y2; //cout << "scalar " << (zx1*zx2 + zy1*zy2)<< endl; return (zx1*zx2 + zy1*zy2 == 0); } int main(void){ int x1,x2, y1,y2, z1,z2; cin >> x1 >> x2 >> y1 >> y2 >> z1 >> z2; //double ans = 1e9; cout << setprecision(10); //double hypot_min = std::numeric_limits::max(); double sxy1 = (x1+y1) / 2; double sxy2 = (x2+y2) / 2; double sxz1 = (x1+z1) / 2; double sxz2 = (x2+z2) / 2; double syz1 = (z1+y1) / 2; double syz2 = (z2+y2) / 2; double dxy = hypot(x1-y1, x2-y2); double dxz = hypot(x1-z1, x2-z2); double dyz = hypot(y1-z1, y2-z2); // X double dsx = hypot(x1-syz1, x2-syz2); // Y double dsy = hypot(y1-sxz1, y2-sxz2); // Z double dsz = hypot(z1-sxy1, z2-sxy2); double result_x = abs(dsx - (dyz/2)); double result_y = abs(dsy - (dxz/2)); double result_z = abs(dsz - (dxy/2)); auto result = min(min(result_x, result_y), result_z); cout << abs(result) << endl; return 0; }