Loading Now

isoscelesTriangles

Bạn có vài cây gậy sticks với chiều dài khác nhau. Có bao nhiêu tam giác cân bạn có thể tạo ra bằng cách sử dụng những cây gậy này? Đương nhiên mỗi cây gậy chỉ có thể được sử dụng một lần.

Một tam giác được coi là cân nếu hai cạnh của nó có độ dài bằng nhau.

Ví dụ

Với sticks = [5, 3, 5, 10, 1, 10, 10], đầu ra là
isoscelesTriangles(sticks) = 15.

Bạn có 1 cây gậy với độ dài là 1, 1 cây gậy với độ dài là 3, 2 cây gậy với độ dài là 5 và 3 cây gậy với độ dài là 10.

  • Sử dụng các cây gậy có độ dài là 5, bạn có thể tạo ra một tam gíac với các cạnh 5, 5, 1 và 5, 5, 3. Điều đó là không thể để tạo một tam giác cân với các cạnh 5, 5, 10 vì 5 + 5 <= 10.
  • Sử dụng tất cả 3 cây gậy có độ dài là 10, bạn có thể tạo ra một tam giác với các cạnh 10, 10, 10.
  • Có thể kết hặp một gậy có chiều dài 10 với bất kỳ cây gậy nào khác, tạo thành hình tam giác với các cạnh 10, 10, 1, 10, 10, 3 và 10, 10, 5 (×2, vì có 2 cây gậy có chiều dài 5). Vì có 3 cách để chọn một cặp gậy có chiều dài 10, nên có 3 * 4 = 12 tam giác có thể được tạo thành theo cách này.

Vì thế, đáp án cuối cùng là 2 + 1 + 12 = 15.

Đầu vào/Đầu ra

  • [giới hạn thời gian chạy] 1 giây

  • [đầu vào] array.integer sticks

    Điều kiện:
    3 ≤ sticks.lengths ≤ 8000,
    1≤ sticks[i] ≤ 50000

  • [đầu ra] integer

    Số tam giác cân có thể được tạo ra từ các cây gậy cho trước. Đảm bảo răng đáp án sẽ phù hợp với số nguyên 32 bit.

Post Comment

Contact