Posted on 2011-12-11 20:30
C小加 閱讀(1313)
評(píng)論(1) 編輯 收藏 引用 所屬分類(lèi):
解題報(bào)告
題意:
已知每個(gè)圓圓心的坐標(biāo)和半徑,求繩的長(zhǎng)度。。
思路:
每個(gè)圓心圍成的多邊形的周長(zhǎng),加上圓的周長(zhǎng)。
代碼:
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
const double PI=3.141592;
typedef struct
{
double x,y;
}Point;
Point p[103];
double a[103];
int main()
{
int n;
double r;
cin>>n>>r;
cin>>p[0].x>>p[0].y;
double sum=0;
for(int i=1;i<n;i++)
{
cin>>p[i].x>>p[i].y;
sum+=sqrt((p[i].x-p[i-1].x)*(p[i].x-p[i-1].x)+(p[i].y-p[i-1].y)*(p[i].y-p[i-1].y));
}
sum+=sqrt((p[0].x-p[n-1].x)*(p[0].x-p[n-1].x)+(p[0].y-p[n-1].y)*(p[0].y-p[n-1].y));
sum+=2*PI*r;
cout<<setprecision(2)<<setiosflags(ios::fixed | ios::showpoint)<<sum<<endl;
return 0;
}