โ๏ธ ์ฝํ
์ค๋น/DFS, BFS
www.acmicpc.net/problem/1707 1707๋ฒ: ์ด๋ถ ๊ทธ๋ํ ์
๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ
์คํธ ์ผ์ด์ค๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ, ์ฒซ์งธ ์ค์ ํ
์คํธ ์ผ์ด์ค์ ๊ฐ์ K(2≤K≤5)๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ
์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ ๊ทธ๋ํ์ ์ ์ ์ ๊ฐ์ V(1≤V≤20,000)์ ๊ฐ์ ์ ๊ฐ์ www.acmicpc.net ์
๋ ฅ ์
๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ
์คํธ ์ผ์ด์ค๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ, ์ฒซ์งธ ์ค์ ํ
์คํธ ์ผ์ด์ค์ ๊ฐ์ K(2≤K≤5)๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ
์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ ๊ทธ๋ํ์ ์ ์ ์ ๊ฐ์ V(1≤V≤20,000)์ ๊ฐ์ ์ ๊ฐ์ E(1≤E≤200,000)๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ฃผ์ด์ง๋ค. ๊ฐ ์ ์ ์๋ 1๋ถํฐ V๊น์ง ์ฐจ๋ก๋ก ๋ฒํธ๊ฐ ๋ถ์ด ์๋ค. ์ด์ด์ ๋์งธ ์ค๋ถํฐ E๊ฐ์ ์ค์ ๊ฑธ์ณ ๊ฐ์ ์ ๋ํ ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋๋ฐ..
โ๏ธ ์ฝํ
์ค๋น/DFS, BFS
www.acmicpc.net/problem/7562 7562๋ฒ: ๋์ดํธ์ ์ด๋ ์ฒด์คํ ์์ ํ ๋์ดํธ๊ฐ ๋์ฌ์ ธ ์๋ค. ๋์ดํธ๊ฐ ํ ๋ฒ์ ์ด๋ํ ์ ์๋ ์นธ์ ์๋ ๊ทธ๋ฆผ์ ๋์์๋ค. ๋์ดํธ๊ฐ ์ด๋ํ๋ ค๊ณ ํ๋ ์นธ์ด ์ฃผ์ด์ง๋ค. ๋์ดํธ๋ ๋ช ๋ฒ ์์ง์ด๋ฉด ์ด ์นธ์ผ๋ก ์ด๋ํ ์ www.acmicpc.net ์
๋ ฅ ์
๋ ฅ์ ์ฒซ์งธ ์ค์๋ ํ
์คํธ ์ผ์ด์ค์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ
์คํธ ์ผ์ด์ค๋ ์ธ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ฒซ์งธ ์ค์๋ ์ฒด์คํ์ ํ ๋ณ์ ๊ธธ์ด l(4 ≤ l ≤ 300)์ด ์ฃผ์ด์ง๋ค. ์ฒด์คํ์ ํฌ๊ธฐ๋ l × l์ด๋ค. ์ฒด์คํ์ ๊ฐ ์นธ์ ๋ ์์ ์ {0, ..., l-1} × {0, ..., l-1}๋ก ๋ํ๋ผ ์ ์๋ค. ๋์งธ ์ค๊ณผ ์
์งธ ์ค์๋ ๋์ดํธ๊ฐ ํ์ฌ ์๋ ์นธ, ๋์ดํธ๊ฐ ์ด๋ํ๋ ค๊ณ ํ๋ ์นธ์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ๊ฐ ํ
..
โ๏ธ ์ฝํ
์ค๋น/DFS, BFS
www.acmicpc.net/problem/2206 2206๋ฒ: ๋ฒฝ ๋ถ์๊ณ ์ด๋ํ๊ธฐ N×M์ ํ๋ ฌ๋ก ํํ๋๋ ๋งต์ด ์๋ค. ๋งต์์ 0์ ์ด๋ํ ์ ์๋ ๊ณณ์ ๋ํ๋ด๊ณ , 1์ ์ด๋ํ ์ ์๋ ๋ฒฝ์ด ์๋ ๊ณณ์ ๋ํ๋ธ๋ค. ๋น์ ์ (1, 1)์์ (N, M)์ ์์น๊น์ง ์ด๋ํ๋ ค ํ๋๋ฐ, ์ด๋ ์ต๋จ ๊ฒฝ๋ก www.acmicpc.net ์
๋ ฅ ์ฒซ์งธ ์ค์ N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์ M๊ฐ์ ์ซ์๋ก ๋งต์ด ์ฃผ์ด์ง๋ค. (1, 1)๊ณผ (N, M)์ ํญ์ 0์ด๋ผ๊ณ ๊ฐ์ ํ์. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ์ถ๋ ฅํ๋ค. ๋ถ๊ฐ๋ฅํ ๋๋ -1์ ์ถ๋ ฅํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ์ด๋ค. ์ด ๋ฌธ์ ๋ฅผ ์ฒ์ ์ ํ์ ๋๋ DFS๋ก ํ์ด์ผํ๋ ์ค ์์๋ค. ๋ฒฝ์ ๋ถ์
จ๋์ง ํ์ธํ๋ bool..
โ๏ธ ์๊ณ ๋ฆฌ์ฆ/Graph
Floyd Warshall (ํ๋ฃจ์ด๋ ์์ฌ) ์ต๋จ ๊ฒฝ๋ก ํ์ - 3 ์ค๋๋ง์ ํฌ์คํ
์ด๋ค. ์ฃผ๋ง๋ง๋ค ํ ๊ฐ์ฉ์ ์ธ๋ผํ๋๋ฐ ์ฃผ๋ง์ ์ข ๋ฐ๋น ์ ๋ชป์ผ๋ค... ์ด์ ๋ฐฑ์ค์์ ํ๋ฃจ์ด๋ ์์ฌ ๋ฌธ์ ๋ฅผ ํ๊ณ ๊ฐ์๊ธฐ ๋ธ๋ก๊ทธ ํฌ์คํ
์ด ์๊ฐ๋์ ์ฐ๊ฒ ๋๋ค! ๋ค์ต์คํธ๋ผ, ๋ฒจ๋ง ํฌ๋์ ์ด์ ํ๋ฃจ์ด๋ ์์ฌ ์๊ณ ๋ฆฌ์ฆ ์ต๋จ ๊ฒฝ๋ก ํ์ ์นดํ
๊ณ ๋ฆฌ์ ๋ง์ง๋ง ๋ด์ฉ์ด๋ค. ๋ค์ต์คํธ๋ผ, ๋ฒจ๋ง ํฌ๋๋ ํน์ ๋
ธ๋์์ ๋ค๋ฅธ ๋
ธ๋๊น์ง์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ํ์ํด์ค๋ค. ์กฐ๊ธ ์๊ฐ์ ๋ฐ๊ฟ์ ๋ชจ๋ ๋
ธ๋์์ ๋ค๋ฅธ ๋
ธ๋๊น์ง์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ํ์ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น? ์ฐ์ ๊ธฐ์กด์ ๋ฐฐ์ ๋ ๋ค์ต์คํธ๋ผ์ ๋ฒจ๋ง ํฌ๋๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ ์ ์๋ค. ๋ค์ต์คํธ๋ผ์์ ์
๋ ฅ ๊ฐ์ผ๋ก ๋ฃ์ด์ฃผ๋ src, ์ฆ ์ถ๋ฐ ๋
ธ๋๋ฅผ ๋ชจ๋ ๋
ธ๋๋ก ์ค์ ํ๋ฉด ๋๋ค. ๊ทธ๋งํผ ๋ฐ๋ณต๋ฌธ์ ๋์์ผํ๊ธฐ์ ์๊ฐ๋ณต์ก๋๋ N๋ง..
โน๏ธ ๋ผ์ดํ/์ฝ๋ฉ ํ
์คํธ
๋์๋ฆฌ ํก๋ฐฉ์ ๊ด๋ จ ๊ณต์ง๊ฐ ์ฌ๋ผ์์ ๋ฐฑ์ค๋ ์ด๋์ ๋ ํ์ด๋ดค๊ฒ ๋ค ์ถ์ด์ ์ค๋ ฅ์ ํ
์คํธํ ๊ฒธ, ์นด์นด์ค ์ฝํ
์ค๋นํ๋ ๊ฒธ ํด์ ์ค์ฝํ์ ์ฐธ๊ฐํ๊ฒ ๋๋ค! ์ค์ฝํ 2021, SCOFE 2021 ์คํํธ์
๊ธฐ์
๋ค์ด ์ฃผ์ตํ๋ ์ฝ๋ฉํ
์คํธ์๋ค! ์์ฑ , ์์นด, ์ค๋์ ์ง, ๋ง์ผ์ปฌ๋ฆฌ, ๋ธ๋๋, ๋ฒ๊ฐ์ฅํฐ ๋ค๋ค ํ๋ฒ์ฉ์ ๋ค์ด๋ณธ ์ด๋ฆ์ด๋ผ๊ณ ์๊ฐํ๋ค! ๋ฌธ์ ๋ง๋ค ํน์ ๊ธฐ์
์ด ๋ค์ด๊ฐ์์๋๊ฑฐ๋ณด๋ฉด ๊ธฐ์
๋ณ๋ก 1๋ฌธ์ ์ฉ ์ถ์ ํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ์ธ์ด๋ ๋ด๊ฐ ์ ์ผ ์ข์ํ๋ ํ์ด์ฌ์ผ๋ก ์งํํ๋ค. ์ด ๋ฌธ์ 6๋ฌธ์ . ๋ฐฐ์ ์ 20 / 20 / 20 / 20 / 30 / 30 ์ผ๋ก ์ด์ 140์ ์ด์๋ค. ๋ด๊ฐ ํ๋ํ ์ ์๋ ๋๋ต 110์ ์ ๋ ๋๋ ๊ฒ ๊ฐ๋ค. ๋ฌธ์ ๋ณ๋ก ํ
์คํธ ์ผ์ด์ค๋ฅผ ๋ชจ๋ ํต๊ณผํ๋ฉด "๋ง์์ต๋๋ค" ๊ฐ ์ถ๋ ฅ๋๋ค. ๋ฌธ์ ๋น ํ์ธํ ์ ์๋ ํ
์คํธ ์ผ..
โ๏ธ ์๊ณ ๋ฆฌ์ฆ/Graph
Bellman Ford (๋ฒจ๋ง ํฌ๋) ์ต๋จ ๊ฒฝ๋ก ํ์ - 2 ์ค๋์ ์ง๋๋ฒ ๋ค์ต์คํธ๋ผ์ ์ด์ด ์ต๋จ ๊ฒฝ๋ก๋ฅผ ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ฆฌํ๋ ค๊ณ ํ๋ค. ์ง๋๋ฒ ๋ค์ต์คํธ๋ผ ํฌ์คํ
์์ ๋ค์ต์คํธ๋ผ๋ ์์ ์ฌ์ดํด์ด ์๋ ๊ทธ๋ํ์์๋ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค๊ณ ํ์๋ค. ๊ทธ ์ด์ ๋ ๋ฌด์์ผ๊น? ์ฐ์ , ๋ค์๊ณผ ๊ฐ์ ๊ทธ๋ํ์ ์์ ์ ์ ์ด A๋ผ๊ณ ํ์ ๋์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํด๋ณด์. [์์ ๊ฒฐ๊ณผ] A : 0 B : -4 C : 3 D : -7 E : 1 F : -3 [์ค์ ๊ฒฐ๊ณผ] ์์ ์ ์ ์์ ์ด์ํ ๊ฐ์ด ์ถ๋ ฅ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๋ค๋ฅธ ์์๋ฅผ ๋ณด์. [์์ ๊ฒฐ๊ณผ] A : 0 B : 2 ( ์ฌ๋ฐฉ๋ฌธ์ ํ์ง ์๋๋ค๊ณ ๊ฐ์ ) C : 5 D : 1 E : 3 [์ค์ ๊ฒฐ๊ณผ] ์ญ์, E ์ ์ ์์ ์ด์ํ ๊ฐ์ด ์ถ๋ ฅ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ด์ ๊ฐ ๋ญ๊น?..
โ๏ธ ์๊ณ ๋ฆฌ์ฆ/Graph
Dijsktra (๋ค์ต์คํธ๋ผ) ์ต๋จ ๊ฒฝ๋ก ํ์ - 1 ์ ๋ง ์ค๋๋ง์ ํฌ์คํ
์ด๋ค. ์๋ ๋ชฉํ๋๋ก ์งํํ์ผ๋ฉด ๊ฐ๊ฐ์ ํ๊ธฐ ์ ์ DP๊น์ง ํฌ์คํ
์ ํ์ด์ผํ๋๋ฐ ์์ ์กฐ๊ธ ๋ฐ๋นด๋ค...(์ฌ์ค ์์์ด ์๋๊ฑธ ์๋...) ์๋ฌดํผ ์ด๋ฒ 3-1 ๊ณผ๋ชฉ์ ์๊ณ ๋ฆฌ์ฆ ์์ฉ์ด๋ผ๋ ๊ณผ๋ชฉ์ ์๊ฐํ๋๋ฐ ์๋
์๋ ๋ฅ๋ฌ๋๊ณผ ๊ด๋ จํ์ฌ ์์
ํ๋ค๊ณ ํด์ ์ ์ฒญํ๋๋ฐ ์ด๋ฒ์ ๊ต์๋์ด ๋ฐ๋๋ฉด์ ์ ๋ง ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ํ์ตํ๋ ์์
์ด ๋์ด๋ฒ๋ ธ๋ค. ์ด์ง ์์ฌ์ ์ง๋ง ๊ฐ์๊ณํ์๋ฅผ ๋ณด๋ 2-2 ์๊ณ ๋ฆฌ์ฆ ์์
๊ณผ ๊ฑฐ์ ๋น์ทํด์? ํ๊ธฐ ์ด์ ๋ฏธ๋ฆฌ๋ฏธ๋ฆฌ ์ ๋ฆฌํด๋๋ ค๊ณ ํ๋ค. ์๋ก ์ด ๊ธธ์๋ค. ๋ค์ต์คํธ๋ผ๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ค์๊ณผ ๊ฐ์ ๊ทธ๋ํ์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ํ์ํด๋ณด์. graph ๋ณ์์ ์ฐ๊ฒฐ๋ ์ ์ ๊ณผ ๊ฐ์ค์น๊ฐ ์ ์ฅ๋์ด ์๋ค๊ณ ๋ณธ๋ค. graph[1] = [2..
โ๏ธ ์ฝํ
์ค๋น/Dynamic Programming
www.acmicpc.net/problem/2565 2565๋ฒ: ์ ๊น์ค ์ฒซ์งธ ์ค์๋ ๋ ์ ๋ด๋ ์ฌ์ด์ ์ ๊น์ค์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ์ ๊น์ค์ ๊ฐ์๋ 100 ์ดํ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ ํ ์ค์ ํ๋์ฉ ์ ๊น์ค์ด A์ ๋ด๋์ ์ฐ๊ฒฐ๋๋ ์์น์ ๋ฒํธ์ B์ ๋ด๋์ ์ฐ๊ฒฐ๋๋ www.acmicpc.net ์
๋ ฅ ์ฒซ์งธ ์ค์๋ ๋ ์ ๋ด๋ ์ฌ์ด์ ์ ๊น์ค์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ์ ๊น์ค์ ๊ฐ์๋ 100 ์ดํ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ ํ ์ค์ ํ๋์ฉ ์ ๊น์ค์ด A์ ๋ด๋์ ์ฐ๊ฒฐ๋๋ ์์น์ ๋ฒํธ์ B์ ๋ด๋์ ์ฐ๊ฒฐ๋๋ ์์น์ ๋ฒํธ๊ฐ ์ฐจ๋ก๋ก ์ฃผ์ด์ง๋ค. ์์น์ ๋ฒํธ๋ 500 ์ดํ์ ์์ฐ์์ด๊ณ , ๊ฐ์ ์์น์ ๋ ๊ฐ ์ด์์ ์ ๊น์ค์ด ์ฐ๊ฒฐ๋ ์ ์๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๋จ์์๋ ๋ชจ๋ ์ ๊น์ค์ด ์๋ก ๊ต์ฐจํ์ง ์๊ฒ ํ๊ธฐ ์ํด ์์ ์ผ ํ๋ ์ ๊น์ค์ ์ต์ ..
โ๏ธ ์ฝํ
์ค๋น/Dynamic Programming
www.acmicpc.net/problem/11054 11054๋ฒ: ๊ฐ์ฅ ๊ธด ๋ฐ์ดํ ๋ ๋ถ๋ถ ์์ด ์ฒซ์งธ ์ค์ ์์ด A์ ํฌ๊ธฐ N์ด ์ฃผ์ด์ง๊ณ , ๋์งธ ์ค์๋ ์์ด A๋ฅผ ์ด๋ฃจ๊ณ ์๋ Ai๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net ์
๋ ฅ ์ฒซ์งธ ์ค์ ์์ด A์ ํฌ๊ธฐ N์ด ์ฃผ์ด์ง๊ณ , ๋์งธ ์ค์๋ ์์ด A๋ฅผ ์ด๋ฃจ๊ณ ์๋ Ai๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์์ด A์ ๋ถ๋ถ ์์ด ์ค์์ ๊ฐ์ฅ ๊ธด ๋ฐ์ดํ ๋ ์์ด์ ๊ธธ์ด๋ฅผ ์ถ๋ ฅํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ ์ด์ ๋ฌธ์ ์ธ ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๋ณํ ๋ฌธ์ ์ด๋ค. (์์ง ํ์ง ์์๋ค๋ฉด ์๋ ๋ฌธ์ ๋ฅผ ๋จผ์ ํ์ด๋ณด๋๋ก ํ์.) www.acmicpc.net/problem/11053 11..
โน๏ธ ๋ผ์ดํ/2020 ๊ฒจ์ธ๋ฐฉํ ๋ชจ๊ฐ์ฝ(๊ฐ์ธ)
- ๋ชฉํ - codekodo.tistory.com/42 [์ฝ๋
ํ๊ตฌ๋ง ํ] 2021.01.27(์) - 6์ฃผ์ฐจ ๊ฐ์ธ ๋ชฉํ - ๋ชฉํ - ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ๋
์ ์ค์ต ๋ฌธ์ ๋ฅผ ํตํด ํ์ตํ๊ณ , ์ด๋ฅผ ์์ฉํ์ฌ ๋ฐฑ์ค ๋ฌธ์ ์ ์ ์ฉํด๋ณธ๋ค. 1. ํผ๋ณด๋์น ํผ๋ณด๋์น ์์ด์ N๋ฒ์งธ ํญ์ ์ถ๋ ฅํ์์ค. [์
๋ ฅ ๊ฐ] 0 [์ถ๋ ฅ ๊ฐ] 0 [์
๋ ฅ codekodo.tistory.com 1. ํผ๋ณด๋์น ์ฌ๊ท๋ก ํ์ด๋ ๋์ง๋ง dp๋ฅผ ํ์ฉํ๋ฉด ๋์ฑ ๋น ๋ฅด๊ฒ ์ ๋ต์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค. 2. ๊ฐ๋ฐฉ ์ ํ์์ ์ ๋ํด์ผํ๋ค. ํ์ ๊ฐ๋ฐฉ์ ์ต๋ ๋ฌด๊ฒ์ด๊ณ , ์ด์ ์ฃผ์ด์ง ๋ฌผ๊ฑด์ ๋ฌด๊ฒ์ด๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ์ต๋ํ์ ๊ฐ์ด์น๋ฅผ ๊ตฌํ๊ณ ํ๋ฅผ ์ฑ์ฐ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฑ์ธ ์ ์๋ค. 0 1 2 3 4 5 0 0 0 0 0 0 0 2 0 0 3 3 3 3 3 0 0 3 4..