题目大意:
给出我们钉子个数与半径,让我们求出缠绕在钉子上的绳子有多长。
解题思路:
从题目中我们可以看出,绳子长度的和等于每两个钉子的距离的和加上接触在钉子上的绳子的长度,不难发现这部分长度其实就等于钉子的周长。
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define PI 3.1415926
int main()
{
int n,i;
double r,co[120][2],sum=0;
scanf("%d",&n);
scanf("%lf",&r);
for(i=1;i<=n;i++)
{
scanf("%lf%lf",&co[i][0],&co[i][1]);
}
for(i=2;i<=n;i++)
{
sum=sum+sqrt((co[i][0]-co[i-1][0])*(co[i][0]-co[i-1][0])+(co[i][1]-co[i-1][1])*(co[i][1]-co[i-1][1]));
}
sum=sum+sqrt((co[1][0]-co[n][0])*(co[1][0]-co[n][0])+(co[1][1]-co[n][1])*(co[1][1]-co[n][1]));
sum=sum+2*PI*r;
printf("%.2lf\n",sum);
return 0;
}