Laser Test (APCS 2022-06 Advanced)
2.0s 256MA laser starts at \((0,0)\) pointing right. There are \(n\) point mirrors: type \(0\) is / and type \(1\) is \. The laser travels to the nearest mirror ahead and turns ninety degrees according to its orientation. It stops when no mirror lies ahead. Count reflections, including repeated visits.
Input
Read \(n\), followed by \(n\) lines of \(x,y,t\).
Constraints
\(1\le n\le250000\), \(1\le x\le30000\), \(|y|\le30000\), \(t\in\{0,1\}\). Coordinates are distinct.
Output
Print the number of reflections.
Scoring
Each scored test independently awards 5 points, totaling 100. Samples award no points.
- 1: 20% — \(n\le1000\), \(x\le100\), \(|y|\le100\)
- 2: 80% — No additional restrictions.
Sample Input 1
10
2 0 1
2 -1 1
7 -1 0
7 2 1
4 2 0
4 1 0
3 1 1
3 2 0
1 -1 1
1 4 0
Sample Output 1
9
Sample Input 2
4
2 1 0
5 -3 1
4 2 1
6 -2 0
Sample Output 2
0
Source
Log in to write and submit code.
Log in