๋ชฉ๋ก๋ฐฑ์ค€ (44)

Hello Ocean! ๐ŸŒผ

[๋ฐฑ์ค€/C++] 4195. ์นœ๊ตฌ ๋„คํŠธ์›Œํฌ

๋ฌธ์ œ https://www.acmicpc.net/problem/4195 4195๋ฒˆ: ์นœ๊ตฌ ๋„คํŠธ์›Œํฌ ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ์นœ๊ตฌ ๊ด€๊ณ„์˜ ์ˆ˜ F๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ์ด ๊ฐ’์€ 100,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ๋‹ค์Œ F๊ฐœ์˜ ์ค„์—๋Š” ์นœ๊ตฌ ๊ด€๊ณ„๊ฐ€ ์ƒ๊ธด ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„ www.acmicpc.net ๋ฏผํ˜์ด๋Š” ์†Œ์…œ ๋„คํŠธ์›Œํฌ ์‚ฌ์ดํŠธ์—์„œ ์นœ๊ตฌ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๋Š” ์นœ๊ตฌ์ด๋‹ค. ์šฐํ‘œ๋ฅผ ๋ชจ์œผ๋Š” ์ทจ๋ฏธ๊ฐ€ ์žˆ๋“ฏ์ด, ๋ฏผํ˜์ด๋Š” ์†Œ์…œ ๋„คํŠธ์›Œํฌ ์‚ฌ์ดํŠธ์—์„œ ์นœ๊ตฌ๋ฅผ ๋ชจ์œผ๋Š” ๊ฒƒ์ด ์ทจ๋ฏธ์ด๋‹ค. ์–ด๋–ค ์‚ฌ์ดํŠธ์˜ ์นœ๊ตฌ ๊ด€๊ณ„๊ฐ€ ์ƒ๊ธด ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‘ ์‚ฌ๋žŒ์˜ ์นœ๊ตฌ ๋„คํŠธ์›Œํฌ์— ๋ช‡ ๋ช…์ด ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์นœ๊ตฌ ๋„คํŠธ์›Œํฌ๋ž€ ์นœ๊ตฌ ๊ด€๊ณ„๋งŒ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ด๋ฅผ ๋งํ•œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ..

Algorithm 2021. 9. 28. 20:19
[๋ฐฑ์ค€/C++] 1253. ์ข‹๋‹ค

๋ฌธ์ œ https://www.acmicpc.net/problem/1253 1253๋ฒˆ: ์ข‹๋‹ค ์ฒซ์งธ ์ค„์—๋Š” ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 โ‰ค N โ‰ค 2,000), ๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” i๋ฒˆ์งธ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” Ai๊ฐ€ N๊ฐœ ์ฃผ์–ด์ง„๋‹ค. (|Ai| โ‰ค 1,000,000,000, Ai๋Š” ์ •์ˆ˜) www.acmicpc.net N๊ฐœ์˜ ์ˆ˜ ์ค‘์—์„œ ์–ด๋–ค ์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ์ˆ˜ ๋‘ ๊ฐœ์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ ์ˆ˜๋ฅผ โ€œ์ข‹๋‹ค(GOOD)โ€๊ณ  ํ•œ๋‹ค. N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๊ทธ ์ค‘์—์„œ ์ข‹์€ ์ˆ˜์˜ ๊ฐœ์ˆ˜๋Š” ๋ช‡ ๊ฐœ์ธ์ง€ ์ถœ๋ ฅํ•˜๋ผ. ์ˆ˜์˜ ์œ„์น˜๊ฐ€ ๋‹ค๋ฅด๋ฉด ๊ฐ’์ด ๊ฐ™์•„๋„ ๋‹ค๋ฅธ ์ˆ˜์ด๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์—๋Š” ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 โ‰ค N โ‰ค 2,000), ๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” i๋ฒˆ์งธ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” Ai๊ฐ€ N๊ฐœ ์ฃผ์–ด์ง„๋‹ค. (|Ai| โ‰ค 1,000,000,000, Ai๋Š” ์ •์ˆ˜) ์ถœ๋ ฅ ์ข‹์€ ์ˆ˜์˜ ๊ฐœ..

Algorithm 2021. 9. 28. 19:58
[C++/๋ฐฑ์ค€] 22352. ํ•ญ์ฒด ์ธ์‹

๋ฌธ์ œ https://www.acmicpc.net/problem/22352 22352๋ฒˆ: ํ•ญ์ฒด ์ธ์‹ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” SP ์ดฌ์˜ ๊ฒฐ๊ณผ์˜ ํฌ๊ธฐ๋ฅผ ์˜๋ฏธํ•˜๋Š” ๋‘ ์ •์ˆ˜ $N$๊ณผ $M$์ด ์ฃผ์–ด์ง„๋‹ค. ($1 \le N, M \le 30$) ์ด๋Š” ์ดฌ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์„ธ๋กœ๋กœ $N$์นธ, ๊ฐ€๋กœ๋กœ $M$์นธ ํฌ๊ธฐ์˜ ๊ฒฉ์ž๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์Œ $N$๊ฐœ์˜ ์ค„์—๋Š” www.acmicpc.net ํ’€์ด ๋‘ ๋ฐฐ์—ด(before์™€ after)์„ (0, 0)๋ถ€ํ„ฐ ํ•œ ์นธ์”ฉ ๋น„๊ตํ•˜๋ฉด์„œ, ๊ฐ’์ด ๋‹ค๋ฅผ ๋•Œ BFS๋ฅผ ์‹คํ–‰ํ•ด์„œ before๋ฐฐ์—ด์˜ ๊ฐ’์„ after๋ฐฐ์—ด์˜ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. ์ด๋ ‡๊ฒŒ BFS๋ฅผ ๋Œ๋ฆฌ๊ณ  ๋‚˜์„œ๋„ ๋‘ ๋ฐฐ์—ด์— ๊ฐ’์ด ๋‹ค๋ฅธ ์นธ์ด ์žˆ๋‹ค๋ฉด, NO์ด๊ณ  ์•„๋‹ˆ๋ฉด YES์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€, BFS๋ฅผ "๋”ฑ ํ•œ ๋ฒˆ" ๋Œ๋ ค์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ..

Algorithm 2021. 9. 14. 20:26
[๋ฐฑ์ค€/C++] 14725. ๊ฐœ๋ฏธ๊ตด

๋ฌธ์ œ https://www.acmicpc.net/problem/14725 14725๋ฒˆ: ๊ฐœ๋ฏธ๊ตด ์ฒซ ๋ฒˆ์งธ ์ค„์€ ๋กœ๋ด‡ ๊ฐœ๋ฏธ๊ฐ€ ๊ฐ ์ธต์„ ๋”ฐ๋ผ ๋‚ด๋ ค์˜ค๋ฉด์„œ ์•Œ๊ฒŒ ๋œ ๋จน์ด์˜ ์ •๋ณด ๊ฐœ์ˆ˜ N๊ฐœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค N โ‰ค 1000) ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N+1 ๋ฒˆ์งธ ์ค„๊นŒ์ง€, ๊ฐ ์ค„์˜ ์‹œ์ž‘์€ ๋กœ๋ด‡ ๊ฐœ๋ฏธ ํ•œ๋งˆ๋ฆฌ๊ฐ€ ๋ณด๋‚ด์ค€ ๋จน์ด www.acmicpc.net ํ’€์ด tree๋ฅผ ์ด์šฉํ•˜์—ฌ ํ’€์ดํ–ˆ๋‹ค. value์™€ ์ž์‹๋“ค์˜ ๋ฐฐ์—ด์„ ๊ฐ€์ง€๋Š” Node๋ฅผ ๋งŒ๋“ค์—ˆ๊ณ , ์ด Node๋“ค์„ ํŠธ๋ฆฌ๋กœ ์—ฐ๊ฒฐํ•œ ํ›„์— DFS๋กœ ํƒ์ƒ‰ํ–ˆ๋‹ค. ๊ฐ Node์˜ ์ž์‹๋“ค์ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋  ํ•„์š”๊ฐ€ ์žˆ์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ vector๋Œ€์‹ ์— map์„ ์‚ฌ์šฉํ–ˆ๋‹ค. map์€ ๊ธฐ๋ณธ์ ์œผ๋กœ key๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋“ค์–ด์˜จ ๋จน์ด ์ •๋ณด๋ฅผ ๋ฒกํ„ฐ์— ์ €์žฅํ•˜๊ณ , root๋ถ€ํ„ฐ ..

Algorithm 2021. 9. 7. 21:33
[๋ฐฑ์ค€/C++] 17370. ์œก๊ฐํ˜• ์šฐ๋ฆฌ ์†์˜ ๊ฐœ๋ฏธ

๋ฌธ์ œ https://www.acmicpc.net/problem/17370 17370๋ฒˆ: ์œก๊ฐํ˜• ์šฐ๋ฆฌ ์†์˜ ๊ฐœ๋ฏธ ๋ฌดํ•œํžˆ ๋งŽ์€ ์ •์œก๊ฐํ˜•์ด ์„œ๋กœ ๋งž๋‹ฟ์•„ ๋†“์ธ ํ˜•ํƒœ์˜ ๊ฐœ๋ฏธ ์šฐ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ์ด๊ณ , ํ•˜์–€์ƒ‰ ๋ณ€์œผ๋กœ๋งŒ ๊ฐœ๋ฏธ๊ฐ€ ๋‹ค๋‹ ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ๋ฏธ ์šฐ๋ฆฌ์˜ ๋ชจ์Šต ๊ณค์ถฉ ๊ด€์ฐฐ์ด ์ทจ๋ฏธ์ธ ์œ ์ด๋Š” ์„ธ ์ •์œก๊ฐ www.acmicpc.net ๋ฌดํ•œํžˆ ๋งŽ์€ ์ •์œก๊ฐํ˜•์ด ์„œ๋กœ ๋งž๋‹ฟ์•„ ๋†“์ธ ํ˜•ํƒœ์˜ ๊ฐœ๋ฏธ ์šฐ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ์ด๊ณ , ํ•˜์–€์ƒ‰ ๋ณ€์œผ๋กœ๋งŒ ๊ฐœ๋ฏธ๊ฐ€ ๋‹ค๋‹ ์ˆ˜ ์žˆ๋‹ค. ๊ณค์ถฉ ๊ด€์ฐฐ์ด ์ทจ๋ฏธ์ธ ์œ ์ด๋Š” ์„ธ ์ •์œก๊ฐํ˜•์ด ์„œ๋กœ ๋งž๋‹ฟ์•„ ์žˆ๋Š” ์–ด๋–ค ์  ์œ„์— ๊ฐœ๋ฏธ๋ฅผ ํ•˜๋‚˜ ์˜ฌ๋ ธ๋‹ค. ์ด๋ ‡๊ฒŒ ์šฐ๋ฆฌ์— ์˜ฌ๋ผ์˜จ ๊ฐœ๋ฏธ๋Š” ๊ทธ ์ž์‹ ์—๊ฒŒ ๋ฏธ์ง€์˜ ์˜์—ญ์ธ ์šฐ๋ฆฌ๋ฅผ ํŽ˜๋กœ๋ชฌ์„ ๋ฟŒ๋ฆฌ๋ฉฐ ํƒ์ƒ‰ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ฒ˜์Œ ๊ฐœ๋ฏธ๋Š” ์ ๊ณผ ์—ฐ๊ฒฐ๋œ ์„ธ ๋ณ€ ์ค‘ ํ•˜๋‚˜๋ฅผ ํ–ฅํ•ด ์ด๋™..

Algorithm 2021. 8. 24. 19:45
[๋ฐฑ์ค€/C++] 1941. ์†Œ๋ฌธ๋‚œ ์น ๊ณต์ฃผ

๋ฌธ์ œ https://www.acmicpc.net/problem/1941 1941๋ฒˆ: ์†Œ๋ฌธ๋‚œ ์น ๊ณต์ฃผ ์ด 25๋ช…์˜ ์—ฌํ•™์ƒ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์—ฌํ•™์ƒ๋ฐ˜์€ 5*5์˜ ์ •์‚ฌ๊ฐํ˜• ๊ฒฉ์ž ํ˜•ํƒœ๋กœ ์ž๋ฆฌ๊ฐ€ ๋ฐฐ์น˜๋˜์—ˆ๊ณ , ์–ผ๋งˆ ์ง€๋‚˜์ง€ ์•Š์•„ ์ด๋‹ค์†œ๊ณผ ์ž„๋„์—ฐ์ด๋ผ๋Š” ๋‘ ํ•™์ƒ์ด ๋‘๊ฐ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ๋‹ค๋ฅธ ํ•™์ƒ๋“ค์„ ํœ˜์–ด์žก๊ธฐ ์‹œ์ž‘ www.acmicpc.net ์ด 25๋ช…์˜ ์—ฌํ•™์ƒ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์—ฌํ•™์ƒ๋ฐ˜์€ 5*5์˜ ์ •์‚ฌ๊ฐํ˜• ๊ฒฉ์ž ํ˜•ํƒœ๋กœ ์ž๋ฆฌ๊ฐ€ ๋ฐฐ์น˜๋˜์—ˆ๊ณ , ์–ผ๋งˆ ์ง€๋‚˜์ง€ ์•Š์•„ ์ด๋‹ค์†œ๊ณผ ์ž„๋„์—ฐ์ด๋ผ๋Š” ๋‘ ํ•™์ƒ์ด ๋‘๊ฐ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ๋‹ค๋ฅธ ํ•™์ƒ๋“ค์„ ํœ˜์–ด์žก๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ณง ๋ชจ๋“  ์—ฌํ•™์ƒ์ด โ€˜์ด๋‹ค์†œํŒŒโ€™์™€ โ€˜์ž„๋„์—ฐํŒŒโ€™์˜ ๋‘ ํŒŒ๋กœ ๊ฐˆ๋ผ์ง€๊ฒŒ ๋˜์—ˆ์œผ๋ฉฐ, ์–ผ๋งˆ ์ง€๋‚˜์ง€ ์•Š์•„ โ€˜์ž„๋„์—ฐํŒŒโ€™๊ฐ€ ์„ธ๋ ฅ์„ ํ™•์žฅ์‹œํ‚ค๋ฉฐ โ€˜์ด๋‹ค์†œํŒŒโ€™๋ฅผ ์œ„ํ˜‘ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์œ„๊ธฐ์˜์‹์„ ๋А๋‚€ โ€˜์ด๋‹ค์†œํŒŒโ€™์˜ ํ•™์ƒ๋“ค์€ ๊ณผ๊ฐํžˆ..

Algorithm 2021. 8. 24. 19:03