Quang Học (Gold)
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.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 tia laser đặt tại vị trí chiếu theo hướng bắc (chiều dương trục ). Chuồng bò nằm tại vị trí . Trên nông trại có tấm gương nghiêng , mỗi tấm có hướng \ hoặc /, đặt tại các vị trí có tọa độ nguyên. Khi tia sáng gặp gương, nó bị phản xạ theo quy tắc thông thường:
- Gương
/: tia đi lên thành đi phải, tia đi phải thành đi lên, tia đi xuống thành đi trái, tia đi trái thành đi xuống. - Gương
\: tia đi lên thành đi trái, tia đi trái thành đi lên, tia đi xuống thành đi phải, tia đi phải thành đi xuống.
Hãy đếm số vị trí có thể đặt thêm một tấm gương (với hướng tùy chọn \ hoặc /) sao cho tia laser từ có thể đến được chuồng bò tại .
Lưu ý: không được đặt gương tại vị trí đã có gương, và tia laser sau khi xuất phát không được quay lại .
Dữ liệu vào
Dòng đầu chứa ba số nguyên , , .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên , và một ký tự (
\hoặc/) — vị trí và hướng của tấm gương thứ .
Dữ liệu ra
Một số nguyên duy nhất — số vị trí có thể đặt gương mới.
Ràng buộc
- Không có hai gương cùng vị trí
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 1 2 -2 1 <br>2 1 / 2 2 <br>-2 2 / |
2 | Đặt gương tại hoặc đều dẫn tia laser đến chuồng. |
| 10 -2 0 0 2 / 2 2 <br>-2 1 / 1 1 <br>1 -1 <br>3 -1 / 3 1 <br>1 3 <br>-2 3 / -4 1 / |
4 | Có 4 vị trí hợp lệ để đặt gương. |
Bình luận