Link Sub: https://www.spoj.com/PTIT/problems/P176PROH/
Người Gửi: Dương Lee
- Problem:
Hiện có ba người bạn sinh sống trên đường thẳng Ox tại Hà Nội. Người đầu tiên sống tại điểm x1, người thứ hai sống tại điểm x2, và ba người bạn sống tại điểm x3. Họ có kế hoạch để ăn mừng năm mới cùng với nhau, vì vậy họ cần phải gặp nhau tại một điểm.
Nhiệm vụ của ban là tính Tổng khoảng cách tối thiểu mà họ cần đi để chào mừng năm mới cùng nhau. Input đảm bảo rằng câu trả lời tối ưu luôn luôn là số nguyên.
InputNhiệm vụ của ban là tính Tổng khoảng cách tối thiểu mà họ cần đi để chào mừng năm mới cùng nhau. Input đảm bảo rằng câu trả lời tối ưu luôn luôn là số nguyên.
Dòng đầu tiên chứa só lượng bộ test t.
T dòng sau, mỗi dòng chứa ba số nguyên phân biệt x1, x2 và x3 (1 ≤ x1, x2, x3 ≤ 100) là tọa độ của ngôi nhà đầu tiên, thứ hai và thứ ba tương ứng (tọa độ có giá trị tuyệt đối <= 10^18).
T dòng sau, mỗi dòng chứa ba số nguyên phân biệt x1, x2 và x3 (1 ≤ x1, x2, x3 ≤ 100) là tọa độ của ngôi nhà đầu tiên, thứ hai và thứ ba tương ứng (tọa độ có giá trị tuyệt đối <= 10^18).
Output
Example:
In một số nguyên duy nhất là khoảng cách tối thiểu tất cả các bạn bè cần để đi để chào mừng năm mới cùng nhau.
Input
2
7 1 4
30 20 10
Output:
6
20
- Solution:
Xét tất cả các trường hợp khoảng cách của 3 điểm. Khoảng cách tối thiểu nhỏ nhất là tổng hai khoảng cách nhỏ nhất trong tất cả các trường hợp.
- Code:
C++:
https://ideone.com/HWeEfx
#include <iostream>
#include <math.h>
#include <algorithm>
using namespace std;
int main ()
{
long long t;
cin>>t;
long long x1, x2, x3;
long long a[3];
for (long long i=1; i<=t; i++)
{
cin>>x1>>x2>>x3;
a[0]=abs(x1-x2);
a[1]=abs(x1-x3);
a[2]=abs(x2-x3);
sort (a, a+3);
cout<<a[0]+a[1]<<endl;
}
return 0;
}
JAVA:
...
Python:
...