i401: 3. 雷射測試
Tags : APCS bfs vector 二分搜尋 圖論 模擬
Accepted rate : 129人/175人 ( 74% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-06-12 22:29

Content

一個雷射光從 (0,0) 向右邊發射,平面上有很多個鏡子,問雷射光會反射幾次,保證輸入沒有無限循環的情形。

鏡子用三個數字表示 $(x_i, y_i, t_i)$,代表座標在 $(x_i, y_i)$ 上。$t_i = 0$ 代表示這種 / 擺放方式的鏡子,$t_i = 1$ 代表這種 \ 擺放方式的鏡子,保證不會有一個位置有多個鏡子。

Input

輸入一個正整數 $n(1 \le n \le 250000)$,代表鏡子的數量,接下來有 $n$ 行,第 $i$ 行有三個數字 $x_i$, $y_i$ 和 $t_i$。

 

子題配分

  • (20%): $1 \leq n \leq 1000$, $1 \leq x_i \leq 100, |y_i| \leq 100$
  • (80%): $1\leq n \leq 250000$, $1 \leq x_i \leq 30000, |y_i| \leq 30000$
Output

輸出雷射光共反射幾次。

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
測資資訊:
記憶體限制: 256 MB
公開 測資點#0 (5%): 2.0s , <1K
公開 測資點#1 (5%): 2.0s , <1M
公開 測資點#2 (5%): 2.0s , <1M
公開 測資點#3 (5%): 2.0s , <1M
公開 測資點#4 (5%): 2.0s , <1M
公開 測資點#5 (5%): 2.0s , <1M
公開 測資點#6 (5%): 2.0s , <1M
公開 測資點#7 (5%): 2.0s , <1M
公開 測資點#8 (5%): 2.0s , <10M
公開 測資點#9 (5%): 2.0s , <10M
公開 測資點#10 (5%): 2.0s , <10M
公開 測資點#11 (5%): 2.0s , <10M
公開 測資點#12 (5%): 2.0s , <10M
公開 測資點#13 (5%): 2.0s , <10M
公開 測資點#14 (5%): 2.0s , <10M
公開 測資點#15 (5%): 2.0s , <10M
公開 測資點#16 (5%): 2.0s , <10M
公開 測資點#17 (5%): 2.0s , <10M
公開 測資點#18 (5%): 2.0s , <1M
公開 測資點#19 (5%): 2.0s , <10M
Hint :

本題若使用遞迴實作,可能因為遞迴深度過深而造成執行時期錯誤。

範例測資一,見題目敘述內的圖表。

範例測資二可以發現沒有任何 $y = 0$ 的鏡子,因此反射次數為 $0$。

Tags:
APCS bfs vector 二分搜尋 圖論 模擬
出處:
2022年6月APCS [管理者: algo.seacow@...(演算法海牛) ]


ID User Problem Subject Hit Post Date
30869 asnewchien@g...(david) i401
python 解題影片
111 2022-06-17 13:29
30846 20060705sean(pneumonoultrami...) i401
296 2022-06-15 21:41
30791 hi.thanksone...(謝一) i401
題解
473 2022-06-12 21:52