Earthquakes

Xem dạng PDF

Gửi bài giải


Điểm: 0,95 (OI)
Giới hạn thời gian: 0.38s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
ACM Regional, Ho Chi Minh City 2008
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Năm ~3010~, một nhóm người từ Trái đất đã chuyển đến sống ở hành tinh Alpha. Vì khí hậu của hành tinh này rất khắc nghiệt, chỉ một phần đất nhất định có thể trồng trọt được.

Giả sử bề mặt của hành tinh này là một mặt phẳng, mảnh đất có thể trồng trọt có hình dạng là một đa giác không tự cắt có ~N~ đỉnh có tọa độ tương ứng là ~(X_1~, ~Y_1)~, ~(X_2~, ~Y_2)~, ..., ~(X_n, Y_n)~, được liệt kê theo chiều kim đồng hồ. Trên mảnh đất có thể trồng trọt, nhóm người đến từ Trái đất sống ở một trạm nghiên cứu đặt tại vị trí ~(X_p, Y_p)~.

image

Trên hành tinh Alpha thường có động đất xảy ra. Mỗi trận động đất tạo ra một vết nứt mà con người không thể đi qua được. Vết nứt này có thể chạy ngang qua mảnh đất có thể trồng trọt và chia mảnh đất này ra thành các phần rời nhau. Thật may mắn, vết nứt này không bao giờ cắt qua trạm nghiên cứu. Ví dụ trong hình trên cho thấy hai vết nứt cắt mảnh đất có thể trồng trọt làm ba phần, và phần đất có thể trồng trọt mà nhóm người sống trong trạm nghiên cứu tiếp cận được sau hai trận động đất có diện tích là ~22~.

Giả sử có ~M~ trận động đất xảy ra được đánh số từ ~1~ đến ~M~. Mỗi trận động đất tạo ra một vết nứt được mô tả bởi một đường thẳng đi qua hai điểm ~(X_{j1}, Y_{j1})~ và ~(X_{j2}, Y_{j2})~ ~(j = 1 \dots M)~.

Nhiệm vụ của bạn là viết một chương trình để tính phần diện tích có thể trồng trọt mà nhóm người sống trong trạm nghiên cứu tại vị trí ~(X_p, Y_p)~ có tiếp cận được sau ~M~ trận động đất.

Input

Dữ liệu vào gồm nhiều bộ dữ liệu tương ứng với nhiều test. Dòng đầu tiên chứa một số nguyên dương không lớn hơn ~20~ là số lượng các bộ dữ liệu. Các dòng tiếp theo chứa các bộ dữ liệu.

Với mỗi bộ dữ liệu:

  • Dòng đầu tiên chứa số nguyên ~N~ ~(3 \leq N \leq 1000)~.
  • Dòng thứ ~i~ trong ~N~ dòng tiếp theo chứa hai số nguyên ~X_i~ và ~Y_i~ ~(-10000 \leq X_i~, ~Y_i \leq 10000)~ cách nhau bởi dấu cách, là tọa độ của đỉnh thứ ~i~ của đa giác thể hiện mảnh đất có thể trồng trọt.
  • Dòng tiếp theo chứa hai số nguyên ~(X_p, Y_p)~ ~(-10000 \leq X_p, Y_p \leq 10000)~ cách nhau bởi dấu cách, là tọa độ của trạm nghiên cứu. Dòng tiếp theo chứa số nguyên ~M~ ~(1 \leq M \leq 1000)~.
  • Dòng thứ ~j~ trong ~M~ dòng tiếp theo chứa bốn số nguyên ~X_{j1}, Y_{j1}, X_{j2}, Y_{j2}~ cách nhau bởi dấu cách, mô tả đường thẳng biểu diễn vết nứt tạo ra bởi trận động đất thứ ~j~.

Output

Với mỗi bộ dữ liệu, ghi ra trên một dòng một số nguyên là phần nguyên của ~(s \times 100)~ với ~s~ là diện tích của phần có thể trồng trọt và tiếp cận được sau ~M~ trận động đất.

Sample Input

2
3
0 0
2 0
0 2
0 0
1
1 1 1 0
6
1 1
9 1
9 5
5 5
5 8
1 8
5 3
2
1 1 5 8
7 1 7 2

Sample Output

150
2200

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.