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

Hello Ocean! ๐ŸŒผ

[๋ฐฑ์ค€/C++] 1707. ์ด๋ถ„๊ทธ๋ž˜ํ”„

๋ฌธ์ œ www.acmicpc.net/problem/1707 ํ’€์ด ์ฒ˜์Œ์—๋Š”, ๋ฒกํ„ฐ ๋‘๊ฐœ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ฐ ๊ทธ๋ฃน์— ๋…ธ๋“œ๋“ค์„ ์ฑ„์›Œ๋‚˜๊ฐ€๋Š” ํ˜•์‹์œผ๋กœ ํ–ˆ๋Š”๋ฐ ๋ฌธ์ œ์ ์ด ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜ํ”„๊ฐ€ ๊ผญ ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋‰˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์˜ case2์™€ ๊ฐ™์ด ๋…๋ฆฝ์ ์ธ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋‰  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์–Œ์ „ํ•˜๊ฒŒ ์ผ๋ฐ˜์ ์ธ ๊ทธ๋ž˜ํ”„ ํ’€์ด ๋ฐฉ์‹์„ ์ด์šฉํ•˜์˜€๋‹ค. BFS๋กœ ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ํ›„์—, ํ•ด๋‹น ๊ทธ๋ž˜ํ”„๊ฐ€ ์ด๋ถ„๊ทธ๋ž˜ํ”„์ธ์ง€ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณค๋‹ค. ๊ฐ„์„ ์„ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ, v1 -> v2๋งŒ ์ €์žฅํ•ด์„œ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค๊ฐ€ ๋‚˜์™”๋‹ค. ๋ฌด๋ฐฉํ–ฅ๊ทธ๋ž˜ํ”„์ด๊ธฐ ๋•Œ๋ฌธ์—, v2 -> v1๋„ ์ €์žฅํ•ด์•ผํ•œ๋‹ค! ๊ทธ๋ฆฌ๊ณ  BFS๋ฅผ ํ•œ ๋ฒˆ๋งŒ ๋Œ๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•  ๋•Œ ๊นŒ์ง€ ์—ฌ๋Ÿฌ๋ฒˆ ๋Œ๋ ค์•ผํ–ˆ๋‹ค. ์ฝ”๋“œ #include #include #include using ..

Algorithm 2021. 5. 12. 19:27
[๋ฐฑ์ค€/C++] 2206. ๋ฒฝ ๋ถ€์ˆ˜๊ณ  ์ด๋™ํ•˜๊ธฐ

๋ฌธ์ œ www.acmicpc.net/problem/2206 2206๋ฒˆ: ๋ฒฝ ๋ถ€์ˆ˜๊ณ  ์ด๋™ํ•˜๊ธฐ N×M์˜ ํ–‰๋ ฌ๋กœ ํ‘œํ˜„๋˜๋Š” ๋งต์ด ์žˆ๋‹ค. ๋งต์—์„œ 0์€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ์„ ๋‚˜ํƒ€๋‚ด๊ณ , 1์€ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ๋ฒฝ์ด ์žˆ๋Š” ๊ณณ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋‹น์‹ ์€ (1, 1)์—์„œ (N, M)์˜ ์œ„์น˜๊นŒ์ง€ ์ด๋™ํ•˜๋ ค ํ•˜๋Š”๋ฐ, ์ด๋•Œ ์ตœ๋‹จ ๊ฒฝ๋กœ www.acmicpc.net ํ’€์ด ์†Œ์š”์‹œ๊ฐ„ : 2์‹œ๊ฐ„ BFS๋ฅผ ์ด์šฉํ•ด์„œ ํ’€์—ˆ๋‹ค. ๊ตฌ์กฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์„œ ํ์— ๋„ฃ์—ˆ๋‹ค. ๋ฐฉ๋ฌธ์—ฌ๋ถ€๋ฅผ ๊ฒ€์‚ฌํ•  ๋•Œ, ํ•ด๋‹น ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•˜๊ธฐ ์ „์— ๋ฒฝ์„ ๋ถ€์‹ ์ ์ด ์žˆ๋Š”์ง€ ์—†๋Š”์ง€๋ฅผ ๊ตฌ๋ณ„ํ•ด์„œ ๊ฒ€์‚ฌํ–ˆ๋‹ค. ์ฝ”๋“œ /* ๋ฒฝ ๋ถ€์ˆ˜๊ณ  ์ด๋™ํ•˜๊ธฐ */ #include #include #include #include using namespace std; int N, M; bool map[1001][1001]; bo..

Algorithm 2021. 5. 12. 19:23
[๋ฐฑ์ค€/C++] 1238. ํŒŒํ‹ฐ

๋ฌธ์ œ www.acmicpc.net/problem/1238 1238๋ฒˆ: ํŒŒํ‹ฐ ์ฒซ์งธ ์ค„์— N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ž…๋ ฅ๋œ๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ M+1๋ฒˆ์งธ ์ค„๊นŒ์ง€ i๋ฒˆ์งธ ๋„๋กœ์˜ ์‹œ์ž‘์ , ๋์ , ๊ทธ๋ฆฌ๊ณ  ์ด ๋„๋กœ๋ฅผ ์ง€๋‚˜๋Š”๋ฐ ํ•„์š”ํ•œ ์†Œ์š”์‹œ๊ฐ„ Ti๊ฐ€ ๋“ค์–ด www.acmicpc.net ํ’€์ด ๋ชจ๋“  ๋งˆ์„ ์นœ๊ตฌ๋“ค i (1~N)์— ๋Œ€ํ•ด์„œ ์™•๋ณต ๊ฑฐ๋ฆฌ = i ๋ถ€ํ„ฐ X๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ + X๋ถ€ํ„ฐ i๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ ๋ฅผ ๊ตฌํ•œ ํ›„, ์™•๋ณต ๊ฑฐ๋ฆฌ์˜ ์ตœ๋Œ“๊ฐ’์„ ์ถœ๋ ฅํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•˜์—ฌ ๋ชจ๋“  ๋งˆ์„ ~ ๋ชจ๋“  ๋งˆ์„ ๊นŒ์ง€์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•œ ํ›„ ์™•๋ณต ๊ฑฐ๋ฆฌ์˜ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์ด์šฉํ•œ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„์— ๊ฝค๋‚˜ ์ต์ˆ™ํ•ด์ง„ ๊ฒƒ ๊ฐ™๋‹ค. ๋‹ค๋งŒ, ์ž…๋ ฅ์„ ์ธ์ ‘..

Algorithm 2021. 4. 28. 17:54
[๋ฐฑ์ค€/C++] 1916. ์ตœ์†Œ๋น„์šฉ ๊ตฌํ•˜๊ธฐ

๋ฌธ์ œ www.acmicpc.net/problem/1916 1916๋ฒˆ: ์ตœ์†Œ๋น„์šฉ ๊ตฌํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง€๊ณ  ๋‘˜์งธ ์ค„์—๋Š” ๋ฒ„์Šค์˜ ๊ฐœ์ˆ˜ M(1 ≤ M ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์…‹์งธ ์ค„๋ถ€ํ„ฐ M+2์ค„๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฒ„์Šค์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋จผ์ € ์ฒ˜์Œ์—๋Š” ๊ทธ www.acmicpc.net ํ’€์ด ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด์„œ ํ’€์—ˆ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๋‚ฎ์ถ”๊ธฐ ์œ„ํ•ด ํž™์„ ์ด์šฉํ•ด ๊ตฌํ˜„ํ–ˆ๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„ : ๋…ธ๋“œ๊ฐ€ V,๊ฐ„์„ ์ด E๊ฐœ ์ผ ๋•Œ, O(E*logV) ๋ฐฑ์ง€ ์ƒํƒœ์—์„œ ๊ตฌํ˜„ํ•˜๋ ค๋‹ˆ ์ƒ๊ฐ์ด ๋‚˜์ง€ ์•Š์•„์„œ, ์ €๋ฒˆ์— ๊ตฌํ˜„ํ•ด๋’€๋˜ ์ฝ”๋“œ๋ฅผ ์ถฉ๋ถ„ํžˆ ์ˆ™์ง€ํ•œ ํ›„์— ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค. ์ฝ”๋“œ #include #include #include using namespace std; #define IN..

Algorithm 2021. 4. 14. 12:42