Wasted Time 题解

· · 题解

刚开始看到这个题的时候有一点懵,没搞懂这个 k 是什么意思,然后在草纸上一通验算,发现这个 k 只参与到了最后的乘法运算里......

言归正传,回到题目上。

由勾股定理可得,ab 两点之间的距离公式为

ab= \sqrt{{(a_x-b_x)}^2+{(a_y-b_y)}^2}

注:a_xb_x 表示 a,b 的横坐标。a_yb_y 表示 a,b 的纵坐标。

那我们的思路就非常清晰了,就是用两个数组将输入的坐标存起来,然后再按顺序算将这些点连起来的总长度,再用这个总长度与 k 相乘再除以时间就行了。

Code

#include<iostream>
#include<cstdio>
#include<algorihtm>
#include<cmath>
using namespace std;
int n,k,y[10001],x[10001];
double ans;
int main()
{
    cin>>n>>k;
    for(int i=1;i<=n;i++)
      cin>>x[i]>>y[i];//蒟蒻不会输一个算一个
    for(int i=2;i<=n;i++)
        ans=ans+sqrt(pow(x[i-1]-x[i],2)+pow(y[i-1]-y[i],2));
    ans=ans*k/50;
    printf("%.9lf",ans);
    return 0;
}

小心 CE。