๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฏธ๋กœ์ฐพ๊ธฐ2

[Queue/Deque] ํ/๋ฑ - BFS ๋ฏธ๋กœ์ฐพ๊ธฐ BFS for Maze N × Mํฌ๊ธฐ์˜ ๋ฐฐ์—ด๋กœ ํ‘œํ˜„๋˜๋Š” ๋ฏธ๋กœ๊ฐ€ ์žˆ๋‹ค. ๋ฏธ๋กœ์—์„œ 0์€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์นธ์„ ๋‚˜ํƒ€๋‚ด๊ณ , 1์€ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ์นธ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. S๋Š” ์ถœ๋ฐœ์ ์„ ์˜๋ฏธํ•˜๋ฉฐ T๋Š” ๋„์ฐฉ์ ์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์กŒ์„๋•Œ BFS๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ถœ๋ฐœ์ ์—์„œ ๋„์ฐฉ์ ์œผ๋กœ ์ด๋™ํ•˜๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ์˜ ์นธ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ•œ ์นธ์—์„œ ๋‹ค๋ฅธ ์นธ์œผ๋กœ ์ด๋™ํ•  ๋•Œ, ์„œ๋กœ ์ธ์ ‘ํ•œ ์นธ์œผ๋กœ๋งŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์นธ์˜ ์ˆ˜๋ฅผ ์…€ ๋•Œ๋Š” S์™€ T๋„ ํฌํ•จํ•œ๋‹ค. Input ์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ N, M (2 ≤ N, M ≤ 50)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” M๊ฐœ์˜ ๋ฌธ์ž๋กœ ๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ๋ฌธ์ž๋“ค์€ ๋ถ™์–ด์„œ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. Output ์ฒซ์งธ ์ค„์— BFS๋ฅผ ํ†ตํ•ด ์ง€๋‚˜์•ผ ํ•˜๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ์˜ ์นธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋„์ฐฉ์ ์— ๋„.. 2023. 7. 9.
[Stack] ์Šคํƒ - STL์„ ์ด์šฉํ•œ ๋ฏธ๋กœ์ฐพ๊ธฐ // #include "Location2D.h" #include #include using namespace std; const int MAZE_SIZE=6; //๋ฏธ๋กœ๋งต ํฌ๊ธฐ ๊ณ ์ • char map[MAZE_SIZE][MAZE_SIZE] = { //๋ฏธ๋กœ๋งต ๋ฐ์ดํ„ฐ {'1','1','1','1','1','1'}, {'e','0','1','0','0','1'}, {'1','0','0','0','1','1'}, {'1','0','1','0','1','1'}, {'1','0','1','0','0','x'}, {'1','1','1','1','1','1'}, }; //(r,c)๊ฐ€ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜์ธ์ง€๋ฅผ ๊ฒ€์‚ฌ //(r,c)๊ฐ€ ๋ฐฐ์—ด ์•ˆ์— ์žˆ๊ณ , ๊ฐ’์ด ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜ '0'์ด๊ฑฐ๋‚˜ ์ถœ๊ตฌ 'x'์ด์–ด์•ผํ•จ bool isValid.. 2023. 7. 4.