trang chủ / đề bài / dt_tst_25_e

Cứu hộ

Đề bài

Mô tả

Thành phố của Alice lên kế hoạch xây dựng một trạm cứu hộ để có thể phản ứng nhanh với các tình huống khẩn cấp. Vị trí dự kiến của trạm cứu hộ có tọa độ (x0,y0).

Có n khu vực dân cư, khu vực thứ i (1≤i≤n) có tâm ở tọa độ (xi,yi). Để đánh giá mức độ hiệu quả và khả năng bao quát của vị trí trạm cứu hộ, Alice đưa ra khái niệm "tam giác hỗ trợ". Một tam giác hỗ trợ được định nghĩa là khu vực nằm trong tam giác có ba đỉnh là tâm của ba khu vực dân cư. Một vị trí được coi là lý tưởng nếu nó nằm hoàn toàn bên trong (không tính nằm trên cạnh) nhiều tam giác hỗ trợ nhất, điều này cho thấy khả năng tiếp cận và phục vụ đến các khu vực dân cư.

Yêu cầu: Cho thông tin (x0,y0),(x1,y1),…,(xn,yn), hãy giúp Alice đếm số lượng tam giác hỗ trợ chứa hoàn toàn vị trí của trạm cứu hộ.

Mỗi tam giác hỗ trợ ứng với một bộ ba khu vực dân cư khác nhau. Trạm cứu hộ nằm trên một cạnh hoặc trùng đỉnh của tam giác thì không được tính; ba tâm thẳng hàng tạo thành tam giác suy biến, không chứa điểm nào ở bên trong.

Dữ liệu vào

  • Dòng đầu chứa số nguyên dương n (n≤105).
  • Dòng thứ hai chứa hai số nguyên là tọa độ vị trí dự kiến của trạm cứu hộ x0,y0 (|x0|,|y0|≤109).
  • Tiếp theo là n dòng, mỗi dòng chứa hai số nguyên là tọa độ tâm của từng khu vực dân cư xi,yi (|xi|,|yi|≤109; 1≤i≤n). Dữ liệu bảo đảm tọa độ vị trí trạm cứu hộ và tọa độ tâm của các khu vực dân cư không trùng nhau (tức là n+1 điểm đã cho đôi một phân biệt).

Dữ liệu ra

In ra một dòng chứa một số là số lượng tam giác hỗ trợ chứa vị trí của trạm cứu hộ.

Ràng buộc

  • 1≤n≤105;
  • |xi|,|yi|≤109 với 0≤i≤n;
  • n+1 điểm (x0,y0),(x1,y1),…,(xn,yn) đôi một phân biệt.

Subtasks

  • Có 10% số test của bài có n=3.
  • Có 30% số test khác của bài có tính chất: n≤100.
  • Có 30% số test khác của bài có tính chất: n≤2000.
  • Có 30% số test còn lại của bài không có ràng buộc nào thêm.

Ví dụ

Input Output Giải thích
3
0 0
0 1
-1 0
1 -1
1 Tam giác duy nhất có ba đỉnh (0,1),(−1,0),(1,−1) chứa điểm (0,0) ở bên trong.
4
0 0
0 1
-1 0
1 0
-1 -1
1 Chỉ tam giác (0,1),(1,0),(−1,−1) chứa (0,0) ở bên trong. Hai tam giác có cạnh nối (−1,0) và (1,0) nhận (0,0) nằm trên cạnh nên không được tính; tam giác (0,1),(−1,0),(−1,−1) không chứa (0,0).

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0