- ์์ฝ๋
- ์นด์นด์ค ์ฝํ
- ๋ค์ต์คํธ๋ผ
- BFS
- LCs
- Union-Find
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- ํธ๋ฆฌ
- ์๊ณ ๋ฆฌ์ฆ
- Python
- DP
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- ์น๋ฆฐ์ด
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฌ๊ท
- ๋นํธ๋งต
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- go
- golang
- ์ด๋ถํ์
- C++
- ๋นํธ๋ง์คํน
- ์นด์นด์ค2021
- nestjs
- ์ํฐ๋
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- js
- DFS
- ํ๋ฆฌ์จ๋ณด๋ฉ
- ๋ฐฑ์ค
- Today
- Total
๋ชฉ๋กC++ (50)
Hello Ocean! ๐ผ
๋ฌธ์ https://www.acmicpc.net/problem/2589 ์ก์ง์ ๋ฐ๋ค๋ก ์ด๋ฃจ์ด์ง nxm ๋งต์์ ์ก์ง์์ ์์ํด์, ๋ฐ๋ค๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๊ฐ ์ ์๋ ๊ฐ์ฅ ๋จผ ์ก์ง๊น์ง์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ํ์ด BFS๋ฅผ ์ด์ฉํด์ ํ์๋ค! ๋ํ, ๋ชจ๋ ์ก์ง๊ฐ ์์์ ์ด ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์์ ํ์์ด๊ธฐ๋ ํ๋ค. ๋ชจ๋ ์ก์ง์์ BFS๋ฅผ ๋๋ ค์, ๋ค๋ฅธ ์ก์ง๊น์ง์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๋ชจ๋ ๊ตฌํด์ ๊ทธ ์ค์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ค. ์ฝ๋ #include #include using namespace std; int dr[4] = { -1,1,0,0 }; int dc[4] = { 0,0,-1,1 }; int map[52][52] = { 0, }; int cache[52][52] = { 0, }; int max_dist = 0; vo..
๋ฌธ์ www.acmicpc.net/problem/1707 ํ์ด ์ฒ์์๋, ๋ฒกํฐ ๋๊ฐ๋ฅผ ๋ง๋ค์ด์ ๊ฐ ๊ทธ๋ฃน์ ๋ ธ๋๋ค์ ์ฑ์๋๊ฐ๋ ํ์์ผ๋ก ํ๋๋ฐ ๋ฌธ์ ์ ์ด ์์๋ค. ๊ทธ๋ํ๊ฐ ๊ผญ ๋ ๊ทธ๋ฃน์ผ๋ก ๋๋์ง ์๋๋ค๋ ๊ฒ์ด์๋ค. ์๋ ๊ทธ๋ฆผ์ case2์ ๊ฐ์ด ๋ ๋ฆฝ์ ์ธ ์ฌ๋ฌ๊ฐ์ ๊ทธ๋ฃน์ผ๋ก ๋๋ ์ ์์๋ค. ๊ทธ๋์ ์์ ํ๊ฒ ์ผ๋ฐ์ ์ธ ๊ทธ๋ํ ํ์ด ๋ฐฉ์์ ์ด์ฉํ์๋ค. BFS๋ก ๊ทธ๋ํ ํ์ ํ์, ํด๋น ๊ทธ๋ํ๊ฐ ์ด๋ถ๊ทธ๋ํ์ธ์ง ํ์ธํ๋ ๊ณผ์ ์ ๊ฑฐ์ณค๋ค. ๊ฐ์ ์ ์ ๋ ฅ๋ฐ์ ๋, v1 -> v2๋ง ์ ์ฅํด์ ํ๋ ธ์ต๋๋ค๊ฐ ๋์๋ค. ๋ฌด๋ฐฉํฅ๊ทธ๋ํ์ด๊ธฐ ๋๋ฌธ์, v2 -> v1๋ ์ ์ฅํด์ผํ๋ค! ๊ทธ๋ฆฌ๊ณ BFS๋ฅผ ํ ๋ฒ๋ง ๋๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ, ๋ชจ๋ ๋ ธ๋๋ฅผ ๋ฐฉ๋ฌธํ ๋ ๊น์ง ์ฌ๋ฌ๋ฒ ๋๋ ค์ผํ๋ค. ์ฝ๋ #include #include #include using ..
๋ฌธ์ 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..
๋ฌธ์ 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๊น์ง์ ๊ฑฐ๋ฆฌ ๋ฅผ ๊ตฌํ ํ, ์๋ณต ๊ฑฐ๋ฆฌ์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ฉด ๋๋ ๋ฌธ์ ์ด๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ๋ชจ๋ ๋ง์ ~ ๋ชจ๋ ๋ง์ ๊น์ง์ ์ต์๊ฐ์ ๊ตฌํ ํ ์๋ณต ๊ฑฐ๋ฆฌ์ ์ต๋๊ฐ์ ๊ตฌํ๋ฉด ๋๋ค. ์ฐ์ ์์ ํ๋ฅผ ์ด์ฉํ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ์ ๊ฝค๋ ์ต์ํด์ง ๊ฒ ๊ฐ๋ค. ๋ค๋ง, ์ ๋ ฅ์ ์ธ์ ..
๋ฌธ์ ๋ฐฐ์ด์์ 1๋ก ๋ ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ์ ํฌ๊ธฐ๋ฅผ ๊ตฌํด๋ผ! www.acmicpc.net/problem/1915 1915๋ฒ: ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ์ฒซ์งธ ์ค์ n, m(1 ≤ n, m ≤ 1,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ n๊ฐ์ ์ค์๋ m๊ฐ์ ์ซ์๋ก ๋ฐฐ์ด์ด ์ฃผ์ด์ง๋ค. www.acmicpc.net ํ์ด DP๋ฅผ ์ด์ฉํ๊ฒ ๋ค! cache[r][c] = min(min(cache[r + 1][c], cache[r + 1][c + 1]), cache[r][c + 1])+1; cache๋ฐฐ์ด์์ ์ ์ผ ์๋ ํ, ์ค๋ฅธ์ชฝ ์ด์ table๊ณผ ๋๊ฐ์ด ์ฑ์์ค๋ค. ๊ทธ ํ์ ๋ฐ๋ณต๋ฌธ์ ๋๋ฉด์, table๊ฐ์ด 0์ด๋ฉด 0์ผ๋ก ์ฑ์ฐ๊ณ ๋์ด๊ฐ๊ณ , 0์ด ์๋๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด cache[r + 1][c], cache[r + 1][c + 1], cach..
๋ฌธ์ 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..