P163PROI - ROUND 3I - Shopping

Link Sub: https://www.spoj.com/PTIT/problems/P163PROI/
Người Gửi: Dương Lee

  • Problem:

Hôm nay, Gấu đang đợi bạn Chuột tới chơi nhà. Để chuẩn bị cho việc này, Gấu quyết định đi ra 2 cửa hàng gần nhà để mua bánh kẹo tiếp đãi bạn Chuột. Biết khoảng cách từ nhà Gấu tới cửa hàng thứ nhất là d1 và tới cửa hàng thứ 2 là d2. Ngoài ra, còn một con đường nối từ cửa hàng thứ nhất tới cửa hàng thứ hai là d3. Các bạn hãy tính giúp Gấu, quãng đường ngắn nhất mà Gấu phải đi để từ nhà tới được 2 cửa hàng và lại quay về nhà nhé!
Input
Một dòng duy nhất gồm 2 số nguyên d1, d2, d3 (1 <= d1, d2, d3 <= 10^8).
Output
Quãng đường ngắn nhất mà Gấu phải đi qua.
Example:
Input
10 20 30
Output:
60

Input
1 1 5
Output:
4
  • Solution:

Bài này để ngắn gọn thì chỉ ta chỉ xét các trường hợp chính sau:
- Nhà -> CH1 -> CH2 -> Nhà
- Nhà -> CH1 -> Nhà -> CH2 -> Nhà
- Nhà -> CH1 -> CH2 -> CH1 -> Nhà
- Nhà -> CH2 -> CH1 -> CH2 -> Nhà
Lưu ý: Chỉ xét đến quãng đường nên Nhà -> CH1 và CH1 -> Nhà, ... là như nhau.

  • Code:

C++:

https://ideone.com/z25lQC
#include <iostream>
#include <algorithm>
using namespace std;

int main () 
{
    long long a, b, c;
    cin>>a>>b>>c;
    long long d[5];
    d[0]=a+b+c;
    d[1]=2*a+2*b;
    d[2]=2*a+2*c;
    d[3]=2*b+2*c;
    sort (d, d+4);
    cout<<d[0];

    return 0;
} 

JAVA:

...

Python:

...

Share this

Related Posts

Previous
Next Post »