時間限制 1000 ms ・ 記憶體限制 256 MB
題目描述
一個 N 列、M 欄的盒子中,每格可能是空格、斜鏡或障礙物。雷射從左上角 (0, 0) 的空格出發,起初朝右前進。空格不改變光線方向;碰到障礙物時,光線停止;離開盒子範圍後也不再前進。
兩種鏡子的反射方式如下:
- R 表示右斜鏡「/」:上→右、右→上、下→左、左→下。
- L 表示左斜鏡「\」:上→左、右→下、下→右、左→上。
請計算雷射經過的不同格子數。起點與碰到的鏡子格都要計入,障礙物格不計入;同一格即使經過多次也只算一次。
輸入格式
第一行輸入整數 N、M。 接下來 N 行,每行包含 M 個字元,表示盒子配置。
- 1 ≤ N、M ≤ 100
- 「.」表示空格,「R」表示右斜鏡,「L」表示左斜鏡,「#」表示障礙物。
- 左上角的字元保證為「.」。
輸出格式
輸出一個整數,表示雷射經過的不同格子數。
來源
TOI 2026 年 6 月新手組〈雷射探測〉,題目敘述重新撰寫,範例與測資另行設計。 https://tpmso.k12ea.gov.tw/toi/wp-content/uploads/question/202606/Laser.pdf
範例測資
範例輸入 1
3 4 ...L .#.. .R.R
範例輸出 1
8
請先登入後再提交程式碼
討論與題解
載入討論區…