์๋ฝํ์ธ์! Eric ์ ๋๋ค!
์ค๋์ ์ ๊ฐ bfs ๋ฌธ์ ๋ฅผ ํ๋ ํ์ด๋ณด๋ ค ํฉ๋๋ค!
๋ฌธ์ ๋ ๋ฐฑ์ค 2583๋ฒ ์์ญ๊ตฌํ๊ธฐ ๋ฌธ์ ์ ๋๋ค!
๋ฌธ์
ํด์ค
์ฐ์ ๋ฌธ์ ๋ฅผ ํ๊ธฐ์ํด์๋ map ์ด๋ผ๋ int[][] ๋ฐฐ์ด์ ๋ง๋ค์ด ์ค๋๋ค.
์ด๋์ int[][] map = new intp[M][N] ์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋๋ค.
์๋ํ๋ฉด ํด๋น ๋ชจ๋์ข ์ด๊ฐ ์ ๋ ฅ์ ์ฒซ๋ฒ์งธ ์ค์์ ๊ทธ๋ ๊ฒ ์ฃผ์ด์ง๋ฏ๋ก
๊ทธ๋ฆฌ๊ณ ์ ๋ ฅ์ ์ฒซ๋ฒ์งธ ์ค์์ ๋ง์ง๋ง์ผ๋ก ๋ฐ๋ K๊ฐ์
for ๋ฌธ์ ํตํด์ K๋ฒ ๋์์ ์ ๋ ฅ์์ ์ฃผ์ด์ง ๊ฐ์ map ์ ํ์ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ bfs ๋ฅผ ๋๋ฉด์
ํด๋น ํ๋ ์์ญ์ ๋ฉด์ ์ ๊ตฌํฉ๋๋ค.
bfs ๋ฅผ ๋๋ฉด์ dx, dy๋ฅผ ํตํด์ ์์์ ์ ๊ธฐ์ค์ผ๋ก ์,ํ,์ข,์ฐ ์ map ๊ฐ์ด 0 ์ด๋ฉด ํด๋น์์ญ์ผ๋ก ์ด๋ํ๋ฉด์
์์ญ์ ํฌ๊ธฐ๋ฅผ ์ฆ๊ฐ์ํค๊ณ ,
๋ง์ฝ map๊ฐ์ด 1 ์ด๋ฉด ๊ทธ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ ์ด๋ํ์ง ์๊ณ ๋๋ ๋๋ค.
์ด๋, ์ด๋ํ๋ ๋งํผ์ ์์ด ์ฐ๋ฆฌ๊ฐ ๊ตฌํ๊ณ ์ํ๋ ๋ฉด์ ์ ํฌ๊ธฐ๋ฅผ area+1 ์ฉ ์ฆ๊ฐ์ํค๋ฉด ๋ฉ๋๋ค.
์๋ํ๋ฉด ํด๋น ๋๊ธ์ ๋ฉด์ ์ด 1*1 ์ด๋ฏ๋ก area+1์ ํด์ฃผ๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ bfs๋ฅผ ๊ตฌํ๋ ์กฐ๊ฑด์ด ๋ ๋๋ง๋ค cnt+1์ ํด์ฃผ์ด
๋๋์ด์ง ํด๋น ๋ถ๋ถ์ ๊ฐ์๋ฅผ ๊ตฌํ ์ ์์ต๋๋ค.
์ฝ๋
'๐ป ๊ฐ๋ฐ๊ณต๋ถ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Eric's ๋ฐฑ์ค] 27467๋ฒ - ์ํ ํด์ฆ - Java - KSA Automata Winter Contest (0) | 2023.02.12 |
---|---|
[Eric's ๋ฐฑ์ค] 1759๋ฒ - ์ํธ ๋ง๋ค๊ธฐ - JAVA (2) | 2023.02.11 |
[Eric's ๋ฐฑ์ค] 1946๋ฒ - ์ ์ ์ฌ์ - Java (0) | 2023.02.09 |
[Eric's ๋ฐฑ์ค] 2217๋ฒ - ๋กํ - Java (0) | 2023.02.08 |
[Eric's ๋ฐฑ์ค] 11727๋ฒ - 2 x n ํ์ผ๋ง 2 - Java (0) | 2023.02.08 |