Nhiệm vụ canh gác (dễ)
Nộp bài giải
Điểm:
5,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Dạng bài
Ngôn ngữ cho phép
Ada, Algol, Assembly, Awk, C, C#, C++, D, Dart, Forth, Fortran, Go, Groovy, Java, Javascript, Kotlin, Lisp, Lua, Nim, ObjC, Pascal, Perl, PHP, Pike, Python, Racket, Ruby, Rust, Scheme, Scratch, Sed, TCL, Typescript, V, Zig
Cho phi thuyền và căn cứ trên mặt phẳng tọa độ. Hãy xác định xem có thể ghép cặp – giữa các phi thuyền và căn cứ (tức ghép cặp hoàn hảo) sao cho các đoạn thẳng nối mỗi phi thuyền với căn cứ được ghép của nó không có hai đoạn nào cắt nhau hay không.
Dữ liệu đảm bảo không có hai điểm nào trùng nhau và không có ba điểm nào thẳng hàng.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên — tọa độ phi thuyền thứ .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên — tọa độ các căn cứ.
Dữ liệu ra
In ra Yes nếu tồn tại cách ghép cặp hoàn hảo không giao nhau, ngược lại in No.
Ràng buộc
- Không có hai điểm nào trùng nhau và không có ba điểm nào thẳng hàng.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 3 0 0 2 0 3 1 -2 1 0 3 2 2 |
Yes | Có thể ghép phi thuyền thứ với căn cứ thứ , các đoạn thẳng không cắt nhau. |
| 2 1 1 0 2 2 3 1 |
No | Số phi thuyền khác số căn cứ nên không thể có ghép cặp hoàn hảo. |
Bình luận