๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กํ”Œ๋กœ์ด๋“œ์›Œ์…œ (4)

Unfazedโ—๏ธ๐ŸŽฏ

[Java] ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ, DFS | ๋ฐฑ์ค€ 2458 ํ‚ค ์ˆœ์„œ

https://www.acmicpc.net/problem/2458 ์ ‘๊ทผ ๋ฐฉ๋ฒ• ์ฒซ์ ‘๊ทผ(์‹คํŒจ)๋ฌธ์ œ ์œ ํ˜•์„ ๋ณด์ง€ ์•Š๊ณ  ํ’€์–ด๋ณด์•˜์„ ๋•Œ ์ผ์ฐจ์› ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๊ณ ๊ด€๊ณ„๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, a > b์ธ ๊ฒฝ์šฐ, ๋ฐฐ์—ด์—์„œ b๋ณด๋‹ค ํฐ ํ•™์ƒ ์ˆ˜๋ฅผ a์˜ ์œ„์น˜์— ๋ˆ„์ ํ•˜์—ฌ ๊ธฐ๋ก๋งŒ์•ฝ ์ด๋ฏธ ๋ˆ„์ ๋œ ๊ฐ’์ด ํฌ๋‹ค๋ฉด ํ•ด๋‹น ๊ด€๊ณ„๋Š” ๋ฌด์‹œํ•จ๋ฐฐ์—ด์˜ ์ตœ์ข… ๊ฐ’์ด ์œ ์ผ(unique)ํ•˜๋‹ค๋ฉด, ํ•ด๋‹น ํ•™์ƒ์˜ ์ˆœ์œ„๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.ํ•˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์€ ๊ฐ„์ ‘ ๊ด€๊ณ„ ํ™•์ธ ๋ถˆ๊ฐ€ ๋“ฑ์˜ ์ด์œ ๋กœ ์‹ค์ œ ์ˆœ์œ„๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•˜๋‹ค. ์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•(ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ) ๋ฌธ์ œ ์œ ํ˜•์ด ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ์ธ ๊ฒƒ์„ ํ™•์ธํ•œ ๋’ค ํ’€์–ด๋ณด์•˜๋‹ค.์ฒ˜์Œ์—” int[] ๋ฐฐ์—ด๋กœ ํ’€์ดํ–ˆ๋‹ค๊ฐ€ ์ž์‹ ๋ณด๋‹ค ํฐ ์‚ฌ๋žŒ์„ true๋กœ ์ฒดํฌํ•˜๋Š” boolean[] ๋ฐฐ์—ด๋กœ ๋ฐ”๊พธ์–ด์„œ ์ฝ”๋“œ๋ฅผ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์—ˆ๋‹ค.int N = Integ..

[Java] ํ”Œ๋กœ์ด๋“œ–์›Œ์…œ | ๋ฐฑ์ค€ 2660 ํšŒ์žฅ๋ฝ‘๊ธฐ

https://www.acmicpc.net/problem/2660 ์ ‘๊ทผ ๋ฐฉ์‹ :"๋‹ค๋ฅธ ํšŒ์›๋“ค๊ณผ ๊ฐ€๊นŒ์šฐ ์ •๋„", "์นœ๊ตฌ์˜ ์นœ๊ตฌ" ๋“ฑ์˜ ๋ถ€๋ถ„์„ ์ฝ์—ˆ์„ ๋•Œ, ์Šคํ„ฐ๋”” 1, 2์ผ์ฐจ์— ํ•™์Šตํ–ˆ๋˜ ํ”Œ๋กœ์ด๋“œ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•ด์•ผ ๋œ๋‹ค๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ๋А๊ปด์กŒ๋‹ค. ์–ด๋А ํšŒ์›์˜ ์ ์ˆ˜๊ฐ€ n์ ์ด๋ฉด ๋‹ค๋ฅธ๋ชจ๋“  ํšŒ์›์ด ์นœ๊ตฌ์ด๊ฑฐ๋‚˜, ... , [์นœ๊ตฌ์˜]*(n-1) ์นœ๊ตฌ์ž„์„ ๋งํ•œ๋‹ค๊ณ  ์ดํ•ดํ–ˆ๊ณ , ์ฆ‰ n์ ์ด๋ฉด ์ตœ์ ์˜ ๊ด€๊ณ„๋ฅผ ๊ตฌํ–ˆ์„ ๋•Œ ํ•ด๋‹น ํšŒ์›์œผ๋กœ ๋ถ€ํ„ฐ ๊ฐ€์žฅ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ๋Š” ํšŒ์›์€ n-1๊ฐœ์˜ ๋‹ค๋ฅธ ์นœ๊ตฌ(๋…ธ๋“œ๋“ค)์„ ๊ฑฐ์ณ์„œ ์—ฐ๊ฒฐ๋œ๋‹ค๋Š” ์˜๋ฏธ๋กœ ํ•ด์„ํ–ˆ๋‹ค. ๊ฐ ๋…ธ๋“œ์—์„œ ๋‹ค๋ฅธ ๋…ธ๋“œ๋“ค๋กœ์˜ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•œ๋’ค,๊ฐ ๋…ธ๋“œ์—์„œ ๊ฐ€์žฅ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ์žˆ๋Š” ๋…ธ๋“œ์™€์˜ ๊ฐ„์„  ์ˆ˜๊ฐ€ ๊ทธ ๋…ธ๋“œ์˜ ์ ์ˆ˜๊ฐ€ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด์„ํ•˜๋‹ˆ ๋ฐฑ์ค€ 1389 ์ผ€๋นˆ ๋ฒ ์ด์ปจ์˜ 6๋‹จ๊ณ„ ๋ฒ•์น™๊ณผ ..

[Java] ํ”Œ๋กœ์ด๋“œ–์›Œ์…œ | ๋ฐฑ์ค€ 1389 ์ผ€๋นˆ ๋ฒ ์ด์ปจ์˜ 6๋‹จ๊ณ„ ๋ฒ•์น™

https://www.acmicpc.net/problem/1389 ์ฒซ ์ ‘๊ทผ ๋ฐฉ์‹(์‹คํŒจ)ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€ ๋А๋‚Œ์ด ๋“ค์—ˆ์ง€๋งŒ ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ๋ง‰๋ง‰ํ•ด ๋ธŒ๋ฃจํŠธํฌ์Šค ๋ฐฉ์‹์œผ๋กœ ํ’€์–ด๋ณด์•˜๊ณ  ๊ฒฐ๊ณผ๋Š” ์—ญ์‹œ ์‹คํŒจ์˜€๋‹ค. ๋Œ€๋žต ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ–ˆ์—ˆ๋‹ค. 1. ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๋…ธ๋“œ ์Œ (i, j)์— ๋Œ€ํ•ด ๋ฐ˜๋ณตํ•˜๋ฉฐ ์—ฐ๊ฒฐ ์ฐพ๊ธฐ2. searchMin ํ•จ์ˆ˜๋ฅผ ํ†ตํ•œ ํƒ์ƒ‰3. ๊ฐ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๋…ธ๋“œ ์Œ์— ๋Œ€ํ•ด searchMin ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์ค‘๊ฐ„ ๋…ธ๋“œ ์ฐพ๊ธฐ4. ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ  ์ตœ์†Œ๊ฐ’์„ ๊ฐฑ์‹  ์˜ˆ์ œ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋“ฑ์˜ ๋ฌธ์ œ๋กœ ์‹คํŒจํ•˜์˜€๋‹ค.  ๋‹ค์‹œ ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ํ•™์Šตํ•˜๊ณ  ํ’€์ดํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด ๋ณธ๋‹ค.๋‚ด๊ฐ€ ๋ธŒ๋ฃจํŠธํฌ์Šค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ–ˆ์„๋•Œ๋„ ๊ฒฐ๊ตญ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ์œ ์ € ์Œ์„..

[Java] ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰, ํ”Œ๋กœ์ด๋“œ–์›Œ์…œ | ๋ฐฑ์ค€ 11403 ๊ฒฝ๋กœ์ฐพ๊ธฐ

https://www.acmicpc.net/problem/11403 ์ ‘๊ทผ ๋ฐฉ์‹  ์šฐ์„  ์ •์  i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ธธ์ด๊ฐ€ ์–‘์ˆ˜์ธ ๊ฒฝ๋กœ์˜ ์˜๋ฏธ๋ฅผ ์ดํ•ดํ•˜๋ ค ํ•ด๋ณด์•˜๋‹ค.๊ทธ๋ž˜ํ”„ G์—์„œ ์ •์  (i,j)๋Š”  i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ฐ„์„ ์˜ ์œ ๋ฌด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.๊ทธ๋ž˜ํ”„ G์˜ ์ •์ (i,j)๋Š” ๋…ธ๋“œ i์—์„œ ๋…ธ๋“œ j๋กœ ์ง์ ‘ ์—ฐ๊ฒฐ๋œ ๊ฐ„์„ ์ด ์žˆ์–ด์•ผ 1์ด ๋˜๋Š” ๋ฐ˜๋ฉด, ์ •์  i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ธธ์ด๊ฐ€ ์–‘์ˆ˜์ธ ๊ฒฝ๋กœ๋Š” ๋…ธ๋“œ i์—์„œ 1๊ฐœ ์ด์ƒ์˜ ๊ฐ„์„ ์„ ๊ฑฐ์ณ ๋…ธ๋“œ j๋กœ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ์ฃผ๋ชฉํ•œ๋‹ค.๋…ธ๋“œ 1๊ณผ ๋…ธ๋“œ 2 ์‚ฌ์ด์— ์ง์ ‘ ์—ฐ๊ฒฐ๋œ ๊ฐ„์„ ์ด ์—†์–ด๋„ ๋…ธ๋“œ 1 => (๋…ธ๋“œ x1 => ... => ๋…ธ๋“œ xn) => ๋…ธ๋“œ 2 ์™€ ๊ฐ™์ด ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด (๋…ธ๋“œ 1, ๋…ธ๋“œ 2)์€ 1์ธ ๊ฒฝ์šฐ๊ฐ€ ๋œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ทธ๋ž˜ํ”„ G์—์„œ 1์ธ G[i][j]๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ตฌํ•˜๊ณ ์žํ•˜๋Š”..