您的位置:首页 > 运维架构

URAL 1020 Rope 简单几何

2016-09-07 09:48 357 查看
题意:按照顺序给定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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: