Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // OK TIMUS 1020
- # include <iostream>
- # include <cmath>
- # include <vector>
- # include <iomanip>
- using namespace std;
- double distance(pair<double, double> f, pair<double, double> s) {
- double x1 = f.first;
- double y1 = f.second;
- double x2 = s.first;
- double y2 = s.second;
- double dis_x = x1 - x2;
- double dis_y = y1 - y2;
- return sqrt(dis_x * dis_x + dis_y * dis_y);
- }
- const double PI = 3.1415926535;
- int main() {
- double r;
- size_t n;
- double sum = 0;
- cin >> n >> r;
- double res = 2 * PI * r;
- vector<pair<double, double>> m(n);
- for (size_t i = 0; i < n; i++) {
- cin >> m[i].first >> m[i].second;
- }
- for (size_t i = 0; i < n; i++) {
- size_t prev = n - 1;
- if (i != 0) {
- prev = i - 1;
- }
- sum += distance(m[i], m[prev]);
- }
- res += sum;
- cout << fixed << setprecision(2) << res;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement