@PaulGuan
2016-10-02T18:27:51.000000Z
字数 502
阅读 753
Algorithm
每次需要在n (2<=n<=100) 个点之间依次连线,每个单位长度的耗时为0.02个单位时间,连线会有重复,计算k (1<=k<=1000) 次连线所消耗的时间,结果保留9位小数。
每次计算两个点之间的距离,然后相加,最后*0.02*k即可。
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
double len(double x1,double y1,double x2,double y2)
{
return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
int main(void)
{
int n,k;
double ans=0;
cin>>n>>k;
int i;
double a,b,c,d;
cin>>a>>b;
for(i=1;i<n;i++)
{
cin>>c>>d;
ans+=len(a,b,c,d)*0.02;
swap(a,c);
swap(b,d);
}
printf("%.9lf\n",ans*k);
return 0;
}