Mảnh vỡ thủy tinh


Submit solution

Points: 1 (partial)
Time limit: 1.0s
Memory limit: 977M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Pax vô tình làm rơi một chiếc cốc thủy tinh , chiếc cốc thuỷ tinh đã bị vỡ ra thành n mảnh .

  • Coi nơi chiêc cốc bị rơi có tọa độ là O( 0, 0 ) ,và ác mảnh vỡ có tọa độ là x , y .

Pax tò mò muốn xem tổng khoảng cách của các mảnh vỡ nhưng đã bỏ xót một số mảnh vỡ các bạn hãy tính tổng khoảng cách từ nơi các mảnh vỡ từ nơi chiếc cốc rơi và khoảng các của mảnh vỡ bị bắn xa nhất hộ Pax nhé .

Input :

  • Dòng đầu tiên là 1 số nguyên n (1 <= n <= 10^5 )

  • n dòng tiếp theo là 2 số thực là tọa độ của các mảnh vỡ (0 < = x, y <= 100)

Output :

  • Dòng đầu là kết quả của 1 số thực là tổng khoảng cách của các mảnh vỡ

  • Dòng tiếp theo là khoảng cách của mảnh vỡ xa nhất

Lưu ý : Để tăng tính chính xác các bạn hãy dùng double và lấy chính xác 3 chữ số sau dấu phẩy


Comments


  • 0
    Finn_in_other_dimension  commented on Aug. 17, 2023, 10:59 a.m.

    // the code doesn't work, can anyone find the mistake(s) ? Thank you

    include<iostream>

    include<math.h>

    include <iomanip>

    using namespace std;

    double Distance(double x1, double y1, double x2, double y2){ return sqrt(pow((x2 - x1), 2) + pow((y2 - y1), 2)); } int main(){ int n; cin >> n; double a[n], b[n]; for (int i = 0; i < n; i++){ cin >> a[i] >> b[i]; } double temp, max = Distance(a[0], b[0], a[1], b[1]); double sum = max; for (int i = 0; i < n-1 ; i++){ for (int j = i + 1; j < n; j++){ temp = Distance(a[i], b[i], a[j], b[j]); // cout << i << ' ' << j << ' ' << fixed<<setprecision(3)<<temp << endl; sum += temp; if (max < temp){ max = temp; } } } cout << fixed<<setprecision(3)<<sum << endl; cout << fixed<<setprecision(3)<<max;

    }