func_code_string: #include <bits/stdc++.h>   using namespace std;   struct Point {     double x, y;     Point() {}     Point(double _x, double _y) {       x = _x;       y = _y;     }     Point operator-(const Point &b) const { return Point(x - b.x, y - b.y); }     double operator^(const Point &b) const { return x * b.y - y * b.x; }     double operator*(const Point &b) const { return x * b.x + y * b.y; }     void transXY(double B) {       double tx = x, ty = y;       x = tx * cos(B) - ty * sin(B);       y = tx * sin(B) + ty * cos(B);     }   };   struct Line {     Point s, e;     Line() {}     Line(Point _s, Point _e) {       s = _s;       e = _e;     }   };   Point PointToLine(Point P, Line L) {     Point result;     double t = ((P - L.s) * (L.e - L.s)) / ((L.e - L.s) * (L.e - L.s));     result.x = L.s.x + (L.e.x - L.s.x) * t;     result.y = L.s.y + (L.e.y - L.s.y) * t;     return result;   }   Point ver[1010];   int main() {     int n;     cin >> n;     for (int i = 1; i <= n; ++i) cin >> ver[i].x >> ver[i].y;     ver[0] = ver[n];     ver[n + 1] = ver[1];     double ans = 1e12;     for (int i = 1; i <= n; ++i) {       Line l;       l.s = ver[i - 1];       l.e = ver[i + 1];       Point p = PointToLine(ver[i], l);       double len = sqrt((ver[i].x - p.x) * (ver[i].x - p.x) +                         (ver[i].y - p.y) * (ver[i].y - p.y));       ans = min(ans, len / 2);     }     printf( %.010lf n , ans);   }   