Hướng dẫn giải của [Quảng Trị - TS10 - 2025] Bài 2: Tam giác
Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Tác giả:
Tóm tắt đề bài
Cho 2 số nguyên dương ~a, b~ (~1 \le a, b \le 10^9~). Đếm số lượng giá trị ~c~ nguyên dương sao cho ~a~, ~b~, ~c~ là độ dài ba cạnh của hình tam giác.
Subtask 1: ~a, b \le 10^5~
Ta có thể viết lại đề bài như sau:
Tìm giá trị ~c~ thỏa mãn các điều kiện sau: ~a + b > c~, ~b + c > a~ và ~a + c > b~.
Ta tiến hành duyệt ~i~ từ ~1~ đến ~a + b~ và tiến hành kiểm tra xem liệu giá trị ~i~ có thỏa mãn các điều kiện trên hay không.
ĐPT: ~O~(~a + b~)
Subtask 2: Không có giới hạn gì thêm
Ta biến đổi bất đẳng thức như sau:
- ~a + b > c~ ~\rightarrow~ ~c < a + b~
- ~a + c > b~ ~\rightarrow~ ~c > b - a~
- ~b + c > a~ ~\rightarrow~ ~c > a - b~
Do ~c~ là số nguyên dương, nên tập hợp các giá trị ~c \in (|a-b|, a + b)~
Suy ra, số lượng giá trị ~c~ là: ~(a + b - 1) - (|a - b| + 1) + 1 = a + b - |a - b| - 1~
Bình luận