Решение задачи Ловушки с Acmp

С пояснением   Просмотров: 30


Далеко не все в Тентуре имеют право носить малиновые штаны, и конечно, не все владеют пепелацем с гравицапой, зато один предприимчивый чатланин поставил несколько ловушек, захватывающих отваливающиеся детали с пролетающих мимо инопланетных кораблей. Каждое утро он их обходит, в надежде, что рано или поздно из этих запчастей ему удастся собрать какое-нибудь транспортное средство. Путь свой чатланин планирует по карте, на которой аккуратно отмечены ловушки, отсчитывая начало координат от собственного дома. Начинается обход от дома, и в нем же и заканчивается.

Требуется определить, какое расстояние проходит чатланин за день.

Код

#include <bits/stdc++.h>

using namespace std;
double solve(int x1, int y1, int x2, int y2)
{
    return sqrt(pow((x1 - x2), 2) + pow((y1 - y2), 2));
}
int main()
{
    int n;
    double s = 0;
    cin >> n;
    int x1 = 0, y1 = 0, x2, y2;
    for(int i = 0; i < n; ++i){
        cin >> x2 >> y2;
        s += solve(x1, y1, x2, y2);
        x1 = x2, y1 = y2;
    }
    s += solve(x1, y1, 0, 0);
    cout << fixed << setprecision(3) << s << endl;
    return 0;
}

         

Администратор Photo Автор: Администратор


Воспользуемся формулой нахождения расстояния между двумя точками.


Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться