Cắt Cỏ
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
4.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Một máy cắt cỏ di chuyển trên mặt phẳng theo đoạn thẳng liên tiếp, luân phiên nằm ngang và thẳng đứng. Bạn được cho tọa độ của điểm (bao gồm điểm xuất phát), tạo thành đoạn (đánh số từ đến ).
Đoạn thứ và đoạn thứ () giao nhau vuông góc nếu:
- Một đoạn nằm ngang và đoạn kia thẳng đứng,
- Chúng thực sự cắt nhau (không chỉ chạm đầu mút),
- .
Đếm số cặp đoạn giao nhau vuông góc thỏa mãn điều kiện trên.
Dữ liệu vào
- Dòng đầu: hai số nguyên và (số điểm và ngưỡng khoảng cách).
- dòng tiếp theo: mỗi dòng chứa hai số nguyên , là tọa độ của điểm thứ (từ đến ).
Đảm bảo: Các đoạn liên tiếp luân phiên nằm ngang và thẳng đứng (tức là mỗi đoạn chỉ thay đổi đúng một tọa độ so với đoạn trước).
Dữ liệu ra
Một số nguyên duy nhất — số cặp đoạn giao nhau vuông góc với .
Ràng buộc
- ( là số chẵn)
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 4 0 10 10 10 10 5 3 5 3 12 6 12 6 3 |
1 | Đoạn 5 (thẳng đứng, , ) giao với đoạn 0 (nằm ngang, , ) với . Đây là cặp duy nhất thỏa mãn. |
Ghi chú
- Hai đoạn được coi là giao nhau khi chúng cắt nhau tại một điểm nằm hoàn toàn bên trong cả hai đoạn (không phải tại đầu mút).
- luôn là số chẵn.
Bình luận