Editorial for C++ Bài 2.B5: Sơn Hàng Rào
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Lời giải chi tiết:
Đầu tiên, các bạn cần khai báo kiểu dữ liệu của 4 số nguyên dựa vào khoảng giá trị đề bài đưa là từ 0 đến 100, trong đó \((a<b)\) và \((c<d)\).
Bước 2, các bạn dùng lệnh cin
để nhập số vừa khai báo ở trên.
Bước 3, xác định giải pháp là tính tổng chiều dài của các khoảng từ a đến b và từ c đến d, sau đó giảm đi chiều dài của khoảng trùng lặp giữa hai khoảng này.
Bước 4, tính tổng chiều dài của hai khoảng từ a đến b và từ c đến d.
Bước 5, tính chiều dài của khoảng trùng lặp giữa hai khoảng sơn: int giao = min(b, d) - max(c, a)
. Nếu không có khoảng trùng lặp (khoảng giao là âm), thì giao sẽ được đặt bằng 0. Chú ý giao = max(giao, 0)
để đảm bảo rằng giá trị của giao không âm.
Bước 6, giảm đi chiều dài của khoảng trùng lặp từ tổng chiều dài đã tính ở bước 4.
Cuối cùng, in ra tổng chiều dài cuối cùng của hàng rào sau khi sơn lại.
Comments