题意:按照顺序给定N个点,每个点有半径R,问说用线环绕N个点所需要的长度。
解题:因为需要围成一个圈,所以旋转角度一定是一周,板径又都相同,所以直接就是两两点之间的距离加上一个周长。
#include<iostream>
#include<cstdio>
#include<cmath>
const double pi = 4 * atan(1.0);
using namespace std;
double dist(double x1,double y1,double x2,double y2){
return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
int main(){
int i,j,k,n;
double m;
cin>>n>>m;
double sum=m*2*pi;
double x1,y1,x2,y2;
cin>>x1>>y1;
double s,t;
s=x1;t=y1;
for(i=2;i<=n;i++){
cin>>x2>>y2;
sum+=dist(x1,y1,x2,y2);
x1=x2;y1=y2;
}
sum+=dist(x1,y1,s,t);
printf("%.2lf\n",sum);
return 0;
}