#include #include #include #include using namespace std; const double PI=3.1415926; typedef struct { double x,y; int vis; }point_struct; point_struct point[105]; int main() { //Initialize memset(point,0,sizeof(point_struct)*105); double r; double line_length=0; int n; //Input scanf("%d %lf",&n,&r); for(int i=0;ithis_distance) { min_distance=this_distance; min_distance_point=i; } } } point[checking_point].vis=1; line_length+=min_distance; checking_point=min_distance_point; checked_point++; } double final_distance=sqrt((point[checking_point].x-point[0].x)*(point[checking_point].x-point[0].x)+(point[checking_point].y-point[0].y)*(point[checking_point].y-point[0].y)); line_length+=final_distance; line_length+=2*PI*r; printf("%.2lf\n",line_length); return 0; }