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

BFS4

[์ž๋ฐ”] ๋ฐฑ์ค€ 1697 - ์ˆจ๋ฐ”๊ผญ์งˆ ๋‚œ BFS๋กœ ํ’€์—ˆ๋Š”๋ฐ, ์‚ฌ์‹ค DFS๊ฐ€ ๋” ๋น ๋ฅผ ์ˆ˜ ๋ฐ–์— ์—†์„ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋„˜ ์‰ฝ๊ฒŒ ํ’€์–ด์„œ ๋ถ„๋ช… ๋‚œ์ด๋„๊ฐ€ ๋†’์•„์ง€๋Š” ์‹œ๋ฆฌ์ฆˆ ๋ฌธ์ œ๋“ค์ด ์žˆ์„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์ง„์งœ ์žˆ๋‹ค. ์–ผํ• ๋ดค์„ ๋•Œ์—๋Š” ์ˆจ๋ฐ”๊ผญ์งˆ 4๊นŒ์ง€๋Š” N, K ๋ฒ”์œ„๋„ ๋˜‘๊ฐ™๊ณ  ๋ฌธ์ œ๋„ ๊ฑฐ์˜ ์œ ์‚ฌํ•œ ๊ฒƒ ๊ฐ™์€๋ฐ ๋‚œ์ด๋„๊ฐ€ ์ฐจ์ด๋‚˜์„œ ๋ญ์ง€ ์‹ถ๋‹ค. ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ฐจ์ด์ธ๊ฐ€? /* 2020.12.12(ํ† )*/ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; public class Main { public static void main(String[] arg.. 2020. 12. 12.
[์ž๋ฐ”] ๋ฐฑ์ค€ 1012 - ์œ ๊ธฐ๋† ๋ฐฐ์ถ” ๋ฌธ์ œ๋Š” BFS๋กœ ๊ฐ„๋‹จํžˆ ํ’€๋ฆฌ๋Š”๋ฐ, N๊ณผ M์˜ ๋ฐฉํ–ฅ ๋•Œ๋ฌธ์— ํ—ท๊ฐˆ๋ฆฐ๋‹ค. ๋‚˜๋Š” ๋ฐฐ์—ด์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ array[n][m] ์ด๋ ‡๊ฒŒ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ๋”ฐ์ง€๊ณ  ๋ณด๋ฉด ์„ธ๋กœ์˜ ๊ธธ์ด๋ฅผ ๊ฐ€๋กœ์˜ ๊ธธ์ด๋ณด๋‹ค ๋จผ์ € ๋‚˜ํƒ€๋‚ด๋Š” ๊ฑฐ๋‹ค. ๊ทผ๋ฐ ๋ฌธ์ œ ์ž…๋ ฅ์—์„œ๋Š” (X,Y) ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ฆ‰, ์ขŒํ‘œ ํ‰๋ฉด์„ ์ƒ๊ฐํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐ€๋กœ ์œ„์น˜๋ฅผ ์„ธ๋กœ ์œ„์น˜๋ณด๋‹ค ๋จผ์ € ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ! ๋ณ„ ๊ฑฐ ์•„๋‹ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, ์ฝ”๋“œ์งค ๋•Œ Y๋ฅผ ์•ž์— ๋‘๊ณ  ์ƒ๊ฐํ• ๋ผ๋‹ˆ๊นŒ ๋ญ”๊ฐ€ ๋‚ฏ์„ค์–ด์„œ ํ—ท๊ฐˆ๋ ธ๋‹ค. N์ด M๋ณด๋‹ค ๋จผ์ € ์˜ค๋Š” ๊ฑด ํ•˜๋‚˜๋„ ์•ˆ ํ—ท๊ฐˆ๋ฆฌ๋Š”๋ฐ! /* 2020.12.06(์ผ)*/ import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; impor.. 2020. 12. 6.
[์ž๋ฐ”] ๋ฐฑ์ค€ 2667 - ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ ํ’€๋•Œ๋งˆ๋‹ค ์ƒˆ๋กญ๋‹ค. ์‹ ๊ธฐํ•˜๋‹ค. ๋„ค ๋ฐฉํ–ฅ์„ ์™”๋‹ค ๊ฐ”๋‹ค ํ•  ์ˆ˜ ์žˆ๋„๋ก 2์ฐจ์› int๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์„œ for๋ฌธ์œผ๋กœ ํ•˜๋‚˜์”ฉ que์— ๋‹ด์•„์ฃผ๋Š” ๋ถ€๋ถ„์ด ํ•ญ์ƒ ํ—ท๊ฐˆ๋ฆฐ๋‹ค. int[][] dir = { {0,1}, {0,-1}, {1,0}, {-1,0} }; BFS์—์„œ๋Š” que ์•ˆ์—์„œ if๋ฌธ์˜ ์กฐ๊ฑด์„ ์ œ๋Œ€๋กœ ์„ธ์šฐ๋Š” ๋‹จ๊ณ„๊ฐ€ ์ œ์ผ ๊นŒ๋‹ค๋กญ๊ฒŒ ๋Š๊ปด์ง„๋‹ค. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.Queue; public class Main2667_๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ { static.. 2020. 12. 6.
[์ž๋ฐ”] ๋ฐฑ์ค€ 2606 - ๋ฐ”์ด๋Ÿฌ์Šค ์–ด๋ ค์šด ๋ฌธ์ œ๋„ ์ด๋ ‡๊ฒŒ ์‰ฝ๊ฒŒ ํ’€๋ ธ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค ํ•˜ํ•˜ํ•˜ํ•˜ํ•˜ ArrayList ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์„œ BFS๋กœ ํ’€์—ˆ๋‹ค. Queue์—๋‹ค๊ฐ€ 1์ด๋ž‘ ์ด์–ด์ง„ ์ปดํ“จํ„ฐ๋“ค ๋ฒˆํ˜ธ ๋„ฃ๊ณ , infected ์—ฌ๋ถ€ ์ฒดํฌํ•ด์„œ infected=false์ธ ์ปดํ“จํ„ฐ๋“ค๋งŒ ๋‹ค์‹œ ํ์—๋‹ค๊ฐ€ ์ง‘์–ด ๋„ฃ์–ด์คฌ๋‹ค. ์ด๋ฏธ ๊ฐ์—ผ ํ™•์ธ๋œ ์ปดํ“จํ„ฐ๋ผ๋ฉด ๊ฐ์—ผ์„ ํ™•์ธํ•œ ์‹œ์ ์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋“ค์„ ๋‹ค ํ์—๋‹ค๊ฐ€ ๋„ฃ์–ด์คฌ์„ ํ…Œ๋‹ˆ๊นŒ! N์˜ ๋ฒ”์œ„๊ฐ€ ์ž‘์•„์„œ ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ ๋Œ€์‹ ์— N+1 x N+1 ํ–‰๋ ฌ์„ ๋งŒ๋“ค์–ด์„œ ์ฒดํฌํ–ˆ์–ด๋„ ๋์„ ๊ฒƒ ๊ฐ™๋‹ค. ์Œ ์˜ˆ๋ฅผ ๋“ค์–ด, network[A][B] = 1 = network[B]=[A] ์ด๋Ÿฐ ์‹์œผ๋กœ? import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList.. 2020. 12. 5.