蒟蒻求助,一直49分
不多说了,直接附代码(求dalao指点)
#include <cmath>
#include <iostream>
#include <cstdio>
using namespace std;
double a[102],b[102];
int n;
double dis(int i)
{
if(i!=n-1) return double(sqrt((a[i]-a[i+1])*(a[i]-a[i+1])+(b[i]-b[i+1])*(b[i]-b[i+1])));
else return double(sqrt((a[i]-a[0])*(a[i]-a[0])+(b[i]-b[0])*(b[i]-b[0])));
//距离公式
}
int main()
{
int n;
double r;
cin>>n>>r;
double sum=3.141592653535897932384*2*double(r);//相当于整圆周长
for(int i=0;i<n;i++)
{
cin>>a[i]>>b[i];
}
for(int i=0;i<n;i++)
{
sum+=dis(i);//加上每段长度
}
printf("%.2f",sum);
return 0;//好 习 惯
}