๋ชฉ๋กC++ (50)

Hello Ocean! ๐ŸŒผ

[๋ฐฑ์ค€/C++] 1013. Contact

๋ฌธ์ œ https://www.acmicpc.net/problem/1013 1013๋ฒˆ: Contact ์ž…๋ ฅ์˜ ์ฒซ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ ๋‹ค์Œ ์ค„๋ถ€ํ„ฐ ๊ฐ๊ฐ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด ์ „ํŒŒ๋ฅผ ํ‘œํ˜„ํ•˜๋Š”, { 0, 1 }๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ๊ณต๋ฐฑ ์—†์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฌธ์ž์—ด ๊ธธ์ด๋Š” (1 ≤ www.acmicpc.net ๋ฌธ์ œ๊ฐ€ ๊ต‰์žฅํžˆ ๊ธธ๊ณ  ๋ณต์žกํ•˜๋‹ค.. ๊ผผ๊ผผํžˆ ์ฝ์–ด๋ณด๋ฉด์„œ ์ดํ•ดํ•˜๋Š” ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค. ์š”์•ฝํ•˜์ž๋ฉด, ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ด์ด (100+1+|01)+ ํŒจํ„ด์— ํ•ด๋‹นํ•˜๋Š”์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒ๋‹จํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ํ’€์ด (100+1+|01)+๋ฅผ ์ชผ๊ฐœ์„œ ๋ณด์ž. 100+1+ = A, 01 = B๋ผ๊ณ  ํ•˜๋ฉด, (A|B)+ ์ด๋ฏ€๋กœ, A๋‚˜ B๊ฐ€ ๊ณ„์† ๋ฐ˜๋ณต์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋ฉด ๋œ๋‹ค. B๋Š” 01 ์ž์ฒด์ด๊ณ , A ๋Š” 100+..

Algorithm 2021. 10. 26. 21:19
[๋ฐฑ์ค€/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