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.

Tác giả: noodles0428

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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.