Module: hình học


Problem

5 /7


Chủ xe bán tải

Theory Click to read/hide

Giao lộ

Giao điểm của đường

a1, b1, c1 - hệ số của dòng đầu tiên,
a2, b2, c2 - hệ số của dòng thứ hai,
x, y - giao điểm.

\(x = {-(c1 \cdot b2 - c2 \cdot b1) \over (a1 \cdot b2 - a2 \cdot b1)} \\ y = {-(a1 \ cdot c2 - a2 \cdot c1) \over (a1 \cdot b2 - a2 \cdot b1)} \)

Chúng ta đã biết cách kiểm tra giao điểm của các đường thẳng (chúng không song song) và tìm giao điểm của chúng.

Bây giờ, hãy tìm hiểu cách thực hiện việc này với phân đoạn

Đầu tiên, hãy tìm hiểu cách đơn giản kiểm tra xem chúng có giao nhau hay không.

Các đoạn cắt nhau nếu các điểm cuối của đoạn này nằm ở hai phía đối diện của đoạn kia và ngược lại (điều này có thể dễ dàng kiểm tra bằng tích chéo).  Trường hợp duy nhất khi điều này không hoạt động - các đoạn nằm trên một đường thẳng. Đối với điều này, bạn cần kiểm tra giao điểm của cái gọi là. hộp giới hạn (hộp giới hạn của đoạn) - kiểm tra giao điểm của hình chiếu của các đoạn trên XY.

trục.

Giờ chúng ta đã biết cách kiểm tra giao điểm của các đoạn, hãy tìm hiểu cách tìm điểm (hoặc đoạn) giao nhau của chúng:
- nếu chúng không giao nhau thì rõ ràng không tồn tại điểm đó;
- nếu không, chúng ta sẽ dựng các đường thẳng mà các đoạn này nằm trên đó.

Nếu chúng song song, thì các đoạn nằm trên cùng một đường thẳng và chúng ta cần tìm đoạn giao nhau - từ đường viền bên trái tối đa của các đoạn đến đường viền bên phải tối thiểu (đường điểm này nhỏ hơn điểm kia, nếu nó ở bên trái, trong trường hợp đẳng thức X-tọa độ - nếu nó thấp hơn).

Nếu các đường thẳng không song song, hãy tìm giao điểm của chúng và trả về.

Problem

Venceslav gần đây đã đọc một cuốn sách bán tải mới và bây giờ anh ấy muốn kiểm tra kiến ​​thức của mình trong công viên. Để đơn giản, hãy tưởng tượng công viên là một tập hợp các đường đi, là các đoạn trên một mặt phẳng. Wenceslas đã đi bộ trong công viên này và anh ấy biết cô gái nào đang đi trên con đường nào. Vấn đề là Wenceslas rất lười biếng và chỉ đi theo một con đường. Và anh ấy cũng quá lười biếng để tìm hiểu xem mình có thể gặp những cô gái như thế nào trên đường đi, vì vậy anh ấy đã nhờ Bạn, người bạn thân nhất của anh ấy, giúp anh ấy trong vấn đề khó khăn này.
 
Đầu vào
Dòng đầu tiên chứa tọa độ của các điểm cuối của đường dẫn (X1, Y1) và ( X2, Y2), dọc theo đó Wenceslas đi bộ (\(- 20 <= X1, Y1, X2, Y2 <= 20\)).
Dòng thứ hai chứa một số nguyên N - số con đường mà các cô gái đi dọc (\(0 <= N <= 5\) ).
Trong N dòng tiếp theo, hãy nhập tọa độ của các điểm cuối của con đường mà các cô gái đi dọc theo (Xi1, Yi1) và (Xi2, Yi2 ), bởi i -con đường đi bộ i-cô gái thứ (\(-20 <= X_{i1}, Y_ {i1}, X_{i2 }, Y_{i2} <= 20\))
 
Đầu ra
Dòng đầu tiên in số M - số cô gái có đường đi sẽ giao nhau với đường đi của Wenceslas (chạm vào đường đi được coi là giao điểm).
Ở dòng thứ hai, in các số M - số các cô gái mà anh hùng của chúng ta sẽ gặp. Các cô gái được đánh số bắt đầu từ một!
 
Ví dụ
<đầu>

 

# Đầu vào Đầu ra
1
0 0 2 2
1
0 2 2 0
1
1