About Monocycle ¶
์ธ๋ฐ์์ ๊ฑฐ๋ ํ ๋ฐํด๋ก ๊ฐ๋ ์์ ๊ฑฐ๋ฅผ ๋งํ๋ค. ๋ค์ ๊ทธ๋ฆผ์ ๋์์๋ ๊ฒ์ฒ๋ผ ๋ค์ฏ ๊ฐ์ ์๋ก ๋ค๋ฅธ ์์ด ์น ํด์ ธ ์๋ ํน๋ณํ ๋ฐํด๊ฐ ๋ฌ๋ ค์๋ ์ธ๋ฐ์์ ๊ฑฐ๋ฅผ ์๊ฐํด๋ณด์.
http://online-judge.uva.es/p/v100/p10047a.gif
์์ด ์น ํด์ง ๋ถ๋ถ์ ์ ๋ถ ๋๊ฐ์ ๊ฐ๋(72')๋งํผ ๋ฒ์ด์ ธ ์๋ค. ์ด๋ค ์ฌ๋์ด ์ ์ฌ๊ฐํ ํ์ผ๋ก ๋ง๋ค์ด์ง M ร N ๊ฒฉ์ ์์์ ์ด ์ธ๋ฐ์์ ๊ฑฐ๋ฅผ ํ๋ค. ํ ํ์ผ์ ์ค์ฌ์์ ๋ฐ๋ก ์ ํ์ผ์ ์ค์ฌ์ผ๋ก ์ธ๋ฐ์์ ๊ฑฐ๋ฅผ ํ๊ณ ์ด๋ํ๋ฉด ๋ฐํด๊ฐ ์ ํํ๊ฒ 72' ํ์ ํ๊ฒ ๋์ด์๋ค. ์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ด๋ค ์์ธ์ง ์ ์ ์์ ๊ฒ์ด๋ค. ๋ฐํด๊ฐ 1๋ฒ ํ์ผ์ ์ค์ฌ์ ์์ ๋, ํ๋์์ด ์น ํด์ง ๋ถ๋ถ์ ์ค์ ์ด ๋ฐ๋ฅ์ ๋ฟ์์๋ค. ๋ฐํด๊ฐ ๋ค์ ํ์ผ(2๋ฒ ํ์ผ)์ค์ฌ์ผ๋ก ์ด๋ํ๋ฉด ํฐ์์ผ๋ก ์น ํด์ง ๋ถ๋ถ์ ์ค์ ์ด ๋ฐ๋ฅ์ ๋ฟ๊ฒ ๋๋ค.
http://online-judge.uva.es/p/v100/p10047b.gif
๊ฒฉ์์ ์๋ ์ ์ฌ๊ฐํ ์ค ๋ช ๊ฐ๋ ์์ ๊ฑฐ๊ฐ ๊ฐ ์ ์๊ฒ ๋งํ์๋ค. ๊ทธ ์์ ๊ฑฐ๋ฅผ ํ ์ฌ๋์ ํ ์์น์์ ์์ํด์ ์ด๋ค ๋ค๋ฅธ ์์น๋ก ์ต๋จ ์๊ฐ ์์ ๋์ฐฉํ๋ ค๊ณ ํ๋ค. ํ ์ ์ฌ๊ฐํ ์์์ ๊ทธ ์์ ๊ฑฐ๋ ๋ค์ ์ ์ฌ๊ฐํ์ผ๋ก ์ด๋ํ๊ฑฐ๋, ๊ฐ์ ์ ์ฌ๊ฐํ ๋ด์์ ์ผ์ชฝ์ด๋ ์ค๋ฅธ์ชฝ์ผ๋ก 90' ํ์ ํ ์ ์๋ค. ์ด๋ฐ ๋์์ ํ๋ ๋ฐ ๊ฐ๊ฐ 1์ด๊ฐ ๊ฑธ๋ฆฐ๋ค. ์์ ๊ฑฐ๋ ๋ฐ๋์ ๋ถ์ชฝ์ ํฅํ๊ณ , ๋ฐํด์์ ๋ น์ ๋ถ๋ถ์ ์ค์ ์ด ์ง๋ฉด๊ณผ ์ ํ๊ณ ์๋ ์ํ์์ ์ถ๋ฐํ๋ค. ๋์ฐฉ ์ง์ ์์๋ ์์ ๊ฑฐ์ ๋ฐฉํฅ์ ์๊ด์์ง๋ง ์ง๋ฉด๊ณผ ์ ํ๊ณ ์๋ ๋ถ๋ถ์ ๋ น์์ด์ด์ผ ํ๋ค.
์ด ์์ ๊ฑฐ๋ฅผ ํ๋ ์ฌ๋์ด ๋ชฉ์ ์ง์ ๋์ฐฉํ ์ ์๋์ง๋ฅผ ์์๋ด๊ณ , ๋์ฐฉํ ์ ์๋ค๋ฉด ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ฆฌ๋์ง ๊ณ์ฐํด๋ณด์.
http://online-judge.uva.es/p/v100/p10047a.gif
์์ด ์น ํด์ง ๋ถ๋ถ์ ์ ๋ถ ๋๊ฐ์ ๊ฐ๋(72')๋งํผ ๋ฒ์ด์ ธ ์๋ค. ์ด๋ค ์ฌ๋์ด ์ ์ฌ๊ฐํ ํ์ผ๋ก ๋ง๋ค์ด์ง M ร N ๊ฒฉ์ ์์์ ์ด ์ธ๋ฐ์์ ๊ฑฐ๋ฅผ ํ๋ค. ํ ํ์ผ์ ์ค์ฌ์์ ๋ฐ๋ก ์ ํ์ผ์ ์ค์ฌ์ผ๋ก ์ธ๋ฐ์์ ๊ฑฐ๋ฅผ ํ๊ณ ์ด๋ํ๋ฉด ๋ฐํด๊ฐ ์ ํํ๊ฒ 72' ํ์ ํ๊ฒ ๋์ด์๋ค. ์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ด๋ค ์์ธ์ง ์ ์ ์์ ๊ฒ์ด๋ค. ๋ฐํด๊ฐ 1๋ฒ ํ์ผ์ ์ค์ฌ์ ์์ ๋, ํ๋์์ด ์น ํด์ง ๋ถ๋ถ์ ์ค์ ์ด ๋ฐ๋ฅ์ ๋ฟ์์๋ค. ๋ฐํด๊ฐ ๋ค์ ํ์ผ(2๋ฒ ํ์ผ)์ค์ฌ์ผ๋ก ์ด๋ํ๋ฉด ํฐ์์ผ๋ก ์น ํด์ง ๋ถ๋ถ์ ์ค์ ์ด ๋ฐ๋ฅ์ ๋ฟ๊ฒ ๋๋ค.
http://online-judge.uva.es/p/v100/p10047b.gif
๊ฒฉ์์ ์๋ ์ ์ฌ๊ฐํ ์ค ๋ช ๊ฐ๋ ์์ ๊ฑฐ๊ฐ ๊ฐ ์ ์๊ฒ ๋งํ์๋ค. ๊ทธ ์์ ๊ฑฐ๋ฅผ ํ ์ฌ๋์ ํ ์์น์์ ์์ํด์ ์ด๋ค ๋ค๋ฅธ ์์น๋ก ์ต๋จ ์๊ฐ ์์ ๋์ฐฉํ๋ ค๊ณ ํ๋ค. ํ ์ ์ฌ๊ฐํ ์์์ ๊ทธ ์์ ๊ฑฐ๋ ๋ค์ ์ ์ฌ๊ฐํ์ผ๋ก ์ด๋ํ๊ฑฐ๋, ๊ฐ์ ์ ์ฌ๊ฐํ ๋ด์์ ์ผ์ชฝ์ด๋ ์ค๋ฅธ์ชฝ์ผ๋ก 90' ํ์ ํ ์ ์๋ค. ์ด๋ฐ ๋์์ ํ๋ ๋ฐ ๊ฐ๊ฐ 1์ด๊ฐ ๊ฑธ๋ฆฐ๋ค. ์์ ๊ฑฐ๋ ๋ฐ๋์ ๋ถ์ชฝ์ ํฅํ๊ณ , ๋ฐํด์์ ๋ น์ ๋ถ๋ถ์ ์ค์ ์ด ์ง๋ฉด๊ณผ ์ ํ๊ณ ์๋ ์ํ์์ ์ถ๋ฐํ๋ค. ๋์ฐฉ ์ง์ ์์๋ ์์ ๊ฑฐ์ ๋ฐฉํฅ์ ์๊ด์์ง๋ง ์ง๋ฉด๊ณผ ์ ํ๊ณ ์๋ ๋ถ๋ถ์ ๋ น์์ด์ด์ผ ํ๋ค.
์ด ์์ ๊ฑฐ๋ฅผ ํ๋ ์ฌ๋์ด ๋ชฉ์ ์ง์ ๋์ฐฉํ ์ ์๋์ง๋ฅผ ์์๋ด๊ณ , ๋์ฐฉํ ์ ์๋ค๋ฉด ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ฆฌ๋์ง ๊ณ์ฐํด๋ณด์.
Input ¶
์ฌ๋ฌ ๊ฐ์ ํ
์คํธ ์ผ์ด์ค๊ฐ ์
๋ ฅ๋ ์ ์๋ค.
๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ ๊ทธ๋ฆฌ๋์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๋ ๋ ๊ฐ์ ์ ์ M๊ณผ N(1โคM, Nโค25)์ด ์ ๋ ฅ๋๋ค. ๊ทธ ๋ฐ์ผ๋ก๋ M์ค์ ๊ฑธ์ณ์ ๊ฐ๊ฐ N๊ฐ์ ๊ธ์๋ก ๊ทธ๋ฆฌ๋ ๊ตฌ์ฑ์ ๊ธฐ์ ํ๋ ๋ด์ฉ์ด ์ ๋ ฅ๋๋ค. '#' ๋ฌธ์๋ ์์ ๊ฑฐ๊ฐ ๊ฐ ์ ์๋ ์ ์ฌ๊ฐํ์ ๋ํ๋ด๋ฉฐ, ๋ค๋ฅธ ๋ชจ๋ ์ ์ฌ๊ฐํ์๋ ์์ ๊ฑฐ๊ฐ ๊ฐ ์ ์๋ค. ์์ ๊ฑฐ์ ์ถ๋ฐ์ง์ ์ 'S'๋ก, ๋์ฐฉ์ง์ ์ 'T'๋ก ํ์๋๋ค.
M๊ณผ N์ด ๋ชจ๋ 0์ผ๋ก ์ ๋ ฅ๋๋ฉด ์ ๋ ฅ์ด ์ข ๋ฃ๋๋ค.
๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ ๊ทธ๋ฆฌ๋์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๋ ๋ ๊ฐ์ ์ ์ M๊ณผ N(1โคM, Nโค25)์ด ์ ๋ ฅ๋๋ค. ๊ทธ ๋ฐ์ผ๋ก๋ M์ค์ ๊ฑธ์ณ์ ๊ฐ๊ฐ N๊ฐ์ ๊ธ์๋ก ๊ทธ๋ฆฌ๋ ๊ตฌ์ฑ์ ๊ธฐ์ ํ๋ ๋ด์ฉ์ด ์ ๋ ฅ๋๋ค. '#' ๋ฌธ์๋ ์์ ๊ฑฐ๊ฐ ๊ฐ ์ ์๋ ์ ์ฌ๊ฐํ์ ๋ํ๋ด๋ฉฐ, ๋ค๋ฅธ ๋ชจ๋ ์ ์ฌ๊ฐํ์๋ ์์ ๊ฑฐ๊ฐ ๊ฐ ์ ์๋ค. ์์ ๊ฑฐ์ ์ถ๋ฐ์ง์ ์ 'S'๋ก, ๋์ฐฉ์ง์ ์ 'T'๋ก ํ์๋๋ค.
M๊ณผ N์ด ๋ชจ๋ 0์ผ๋ก ์ ๋ ฅ๋๋ฉด ์ ๋ ฅ์ด ์ข ๋ฃ๋๋ค.
Output ¶
๊ฐ ํ
์คํธ ์ผ์ด์ค์ ๋ํด ๋จผ์ ์๋ ์ถ๋ ฅ ์์ ๋์์๋ ์์ผ๋ก ํ
์คํธ ์ผ์ด์ค ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ๊ฑฐ๊ฐ ๋์ฐฉ์ง์ ์ ๊ฐ ์ ์์ผ๋ฉด ์๋์ ๋์์๋ ํ์์ ๋ง๊ฒ ์ด ๋จ์๋ก ๊ทธ ์ง์ ์ ๊ฐ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์ต์ ์๊ฐ์ ์ถ๋ ฅํ๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด "destination not reachable"์ด๋ผ๊ณ ์ถ๋ ฅํ๋ค.
์๋ก ๋ค๋ฅธ ํ ์คํธ ์ผ์ด์ค ์ฌ์ด์๋ ๋น ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค.
์๋ก ๋ค๋ฅธ ํ ์คํธ ์ผ์ด์ค ์ฌ์ด์๋ ๋น ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค.
Sample Input ¶
{{| 1 3
S#T
10 10
#S.......#
#..#.##.##
#.##.##.##
.#....##.#
#..#.##...
#......##.
..##.##...
#.###...#.
#.....###T
0 0 |}}
S#T
10 10
#S.......#
#..#.##.##
#.##.##.##
.#....##.#
#..#.##...
#......##.
..##.##...
#.###...#.
#.....###T
0 0 |}}
Sample Output ¶
{{| Case #1
destination not reachable
Case #2
minimum time = 49 sec |}}
destination not reachable
minimum time = 49 sec |}}
ํ์ด ¶
์์ฑ์ | ์ฌ์ฉ์ธ์ด | ๊ฐ๋ฐ์๊ฐ | ์ฝ๋ |
์กฐํํ | C++ | ? | Monocycle/์กฐํํ |
๊น์์ญ ]] | C++ | ๋ฌดํ๋ฃจํ..ใ กใ | Monocycle/๊น์์ญ |