" (๋ฐฑ์ค/c++) 1987 - ์ํ๋ฒณ/ DFS, ๋ฐฑํธ๋ํน"https://www.acmicpc.net/problem/1987๐ solved.ac ๋์ด๋: ๊ณจ๋4 BFS๋ก ํ์๋ค๊ฐ ~ DFS์ Set์ ํจ๊ปํด์ ํ์๋ค๊ฐ ์๊ฐ์ด๊ณผ๋ก ๋งํ์ Set์ ์์ ๊ณ ๋ฌธ์ ๋ฅผ ํ์๋ค.. ๐ธ BFS๋ก ํ์์ ๋ ๋์๋ ์ด์ - BFS๋ ๋์ด ์ฐ์ ์ผ๋ก ๋นจ๊ฐ์์ผ๋ก ์ฒดํฌํ ๋ถ๋ถ์ด ์ด์ ํ๋์ Que์ [F]๊ฐ ๋ด๊ฒจ ํ๋์[E] ์ฃผ๋ณ ๋ ธ๋์[H] [F]์ ๋ด์ผ๋ ค ํ ๋ [F]๊ฐ ๋น ์ง๊ฒ ๋๋ค. ๐ธ DFS + Set ํ์ด Set์ผ๋ก findํด์ ์ง๋๊ฐ ๊ฒฝ๋ก์ ํ์ฌ ์ํ๋ฒณ์ด ํฌํจ๋์๋์ง ํ์ธํ๋ ค๊ณ ํ๋ค.Set์ find ์๊ฐ๋ณต์ก๋๋ O(logN)๋ฐฐ์ด์ ๋ฐ๋ก ์ ๊ทผ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ O(1)set alphabets;alphabets..
"(๋ฐฑ์ค/c++) 1238 - ํํฐ / ์ต๋จ๊ฒฝ๋ก๊ทธ๋ํ, ํ๋ก์ด๋ ์์ฌ"https://www.acmicpc.net/problem/1238 ๐ solved.ac ๋์ด๋: ๊ณจ๋3 ๐ธ ๋ฌธ์ ํต์ฌ ๋จ๋ฐฉํฅ ๋๋ก๊ฐ๋ค๊ฐ ๋์์ค๋ ์ต๋จ๊ฒฝ๋ก ๐น ์ฃผ์ ์ฝ๋ ๋ถ๋ถํ๋์ค: form ~ stopper ์์์ ๋ถํฐ ๊ฒฝ์ ์ง๊น์ง ๋ฌดํ์ด๋ฉด, ์ฐ๊ฒฐ๋์ด ์์ง ์๋๋ค๋ ๋ป์ด๊ธฐ ๋๋ฌธ์ ๋ฌด์ํด์ฃผ์.๋ ธ๋์ค: ์์์ ๋ถํฐ ๋์ฐฉ์ > ์์์ ๋ถํฐ ๊ฒฝ์ ์ง + ๊ฒฝ์ ์ง๋ถํฐ ๋์ฐฉ์ ์ด ๊ตฌ์กฐ๋ฅผ ์ธ์ฐ์ง ๋ง๊ณ ์ํ(relax)๋ฅผ ์ดํดํ์. #include#include#includeusing namespace std;//vector> students[1'001]; int students[1'001][1'001];int result[1'001];int main(v..
"(๋ฐฑ์ค/c++) 10026 - ์ ๋ก์์ฝ / BFS, ๊ทธ๋ํ"๐ solved.ac ๋์ด๋: ๊ณจ๋5 #include#includeusing namespace std;char grid[101][101];bool visited[101][101] = {false,};bool visitesd[101][101] = { false, };int direction[4][2] = { {-1, 0} , {0, 1}, {1, 0}, {0 ,-1} };int mTC;int normalCount = 0;int blindnessCount = 0;queue> normalPerson; queue colorblindness;void normalFunc(int i, int j);void bilndnessFunc(int i, int j..
"(๋ฐฑ์ค/c++) 11403 - ๊ฒฝ๋ก์ฐพ๊ธฐ / BFS, ๊ทธ๋ํ"https://www.acmicpc.net/problem/11403 ๐ solved.ac ๋์ด๋: ์ค๋ฒ1 ์ค๋ ์ฌ๋ ๋ ์ด๋ผ ๋ฌธ์ ํธ๋๊ฒ ์ฌ๋ฏธ์๋ค.Array ๋ณ์ ์ด๋ฆ์ Floyed์ด์ง๋ง? ํ๋ก์ด๋ ์์ฌ๋ณด๋ค BFS๋ฅผ ์ฌ์ฉํด์ ํธ๋๊ฒ ๋ ํธํ ๊ฑฐ ๊ฐ์์ BFS๋ก ํ์๋ค. ๋ค๋ฅธ BFS์ ๋ค๋ฅธ ์ ์ ๋ชจ๋ ์ ์์ ๋ฐฉ๋ฌธ์ ์ด๊ธฐํ ์์ผ์ค์ผํ๋ค. ex ) 1 -> 5 -> 6 -> 7 ์ด๋ฐ ์ฐ๊ฒฐ์ด ์์ ๋, 1์ 5, 6, 7์ ๋ชจ๋ ๋ฐฉ๋ฌธ ํ ์ ์๋ค๋ ํ์๋ฅผ ํด์ค์ผํ๊ณ ๊ทธ ๋ค์ 5๋ฒ, 6๋ฒ, 7๋ฒ์ ๋ ์ด์ ์ ๋ฐฉ๋ฌธ ํ๋๋ผ๋ ์ฐ๊ฒฐ๋์๋์ง ํ์ธํ๊ธฐ ์ํด ์ ์์์ ์์ ๋ฐฉ๋ฌธ์ ์ด๊ธฐํ ํด์ผํ๋ค. #include#include#include#includeusing..
"(๋ฐฑ์ค/c++) 11724 - ์ฐ๊ฒฐ ์์์ ๊ฐ์ / BFS, ๊ทธ๋ํ"https://www.acmicpc.net/problem/11724๐ solved.ac ๋์ด๋: ์ค๋ฒ2 ๋์ด๋๋ ์ฌ์ ๋ค. DFS, BFS ์๋ฌด๊ฑฐ๋ ๊ณจ๋ผ์ ํ์ ์๋ ๋ฌธ์ ์ด๋ค. ํ์ง๋ง~ ๋๋ 5๋ฒ ์ ๋ ํ๋ ธ๋ค. ์ด์ ๋ ๋ฐฉํฅ์ฑ์ด ์๋ ๊ทธ๋ํ์ธ๋ฐ ๋ฐฉํฅ์ฑ์ด ์๊ฒ ํ ์ชฝ๋ง ์ ๋ ฅํด์ฃผ๊ณ ์์๋ค. ใ ใ ๋ฐฉํฅ์ฑ์ด ์๋ ๊ทธ๋ํ๋ผ๋ฉด ๊ผญ ์ ์ ์์ชฝ์ ๋น๊ตํ ์ ์๋๋ก ํด์ฃผ์. // ์ฐ๊ฒฐ ์์์ ๊ฐ์ #include#include#includeusing namespace std; bool visit[1001] = { false, }; vector distributingLine[1001]; queue que;int main(void){ int N, M; ..
" (๋ฐฑ์ค/c++) 14940 - ์ฌ์ด ์ต๋จ ๊ฑฐ๋ฆฌ / DFS, ๊ทธ๋ํ "https://www.acmicpc.net/problem/14940 ๐ solved.ac ๋์ด๋: ์ค๋ฒ1์ด ๋ฌธ์ ๋ ์ฝ๊ฒ ํ์ด์ solved.ac์ ๊ฒ์ํด๋ดค๋๋ฐ ์ค๋ฒ 1 ๋ฌธ์ ๋น.. ํ !!! ๋ด ์ค๋ ฅ์ ์์ง ๊ณจ๋5, ์ค๋ฒ1 ์ ๋ ๋๋๊ฑฐ ๊ฐ๋ค ใ ใ ใ ๋์ด ์ฐ์ ๋ฌธ์ ๋ก ์์์ ๋ถํฐ ์ฐฌ์ฐฌํ ๋ํ๊ฐ๋ฉด ๋๋ ๋ฌธ์ ๋ค. ํญ์ BFS๋ฌธ์ ์์ ์ค์ํ๋ ๋ถ๋ถ์ ๋ค์ ์ง๊ณ ๋์ด๊ฐ๋ ค๊ณ ์์ฑํ๋ค. que์ ์กฐ๊ฑด์ด ๋๋ ๋ ธ๋๋ฅผ push ํ ๋ ๋ฐฉ๋ฌธ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋๊ฑฐ๋ค. pop ํ๋ฉด์ ๋ฐฉ๋ฌธ์ฒ๋ฆฌํ๋๊น ๊ด์ฐฎ์ง ์๋? ์๊ฐํ๋ฉด์ ํญ์ ๋นผ๊ณค ํ๋ค.๊ทธ๋ ๊ฒ ๋๋ฉด ์๋์ ๊ฐ์ด E๊ฐ que์์ pop๋๊ณ ๋ฐฉ๋ฌธ์ฒ๋ฆฌํ๊ธฐ ์ ์ D์์ 'visit false๊ตฐ!!" ํ๋ฉด์ que์ ๋ฃ..
"(๋ฐฑ์ค/ C++) 12101- 1, 2, 3 ๋ํ๊ธฐ2 / ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ, ์ฌ๊ท"https://www.acmicpc.net/problem/12101 https://cclient.tistory.com/128 (๋ฐฑ์ค/ C++) 9095 - 1, 2, 3 ๋ํ๊ธฐ / ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ, ์ฌ๊ท" ( ๋ฐฑ์ค/ C++ ) 9095 - 1, 2, 3 ๋ํ๊ธฐ "https://www.acmicpc.net/problem/9095 ๋ฌธ์ ๋ณด์ ๋ง์.. ์ ? ์ฌ๊ท ? ํ๊ณ , n์ 11๋ณด๋ค ์์ ์์์๋ค. dp๋ก ์ ํ์ด๋ ๋๋ ๋ฌธ์ ์๋๊ฐ ์๊ฐํ๋ค. ์๋์ ๊ฐ์ด ์ด๋ ํ ๋ฐฉ๋ฒcclient.tistory.com์ด ๋ฌธ์ ์ฐ์ฅ์ ์ด๋ค. ๋ณ๋ก ์ด๋ ต์ง ์์์ง๋ง ๊พธ์ญ๊พธ์ญ ๋ฃ์ ๋๋์ด๋ ๋ค. DFS ์ด๊ธฐ ๋๋ฌธ์ ์ค์์ํ๋ก ๋์ด์๋ค. ์ ..
"(๋ฐฑ์ค/ C++) 1010 - ๋ค๋ฆฌ ๋๊ธฐ / ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ, ์ฌ๊ท"https://www.acmicpc.net/problem/1010 N์ ๋๋ ค๋ณด๋ฉด์ ๋น๊ต๋ฅผ ํด๋ณด๋ ๊ท์น์ ์ฝ๊ฒ ๋ฐ๊ฒฌ ํ ์ ์์๋ค. N(๊ฐ ์์ชฝ)์ ๋งจ ์ ๋ค๋ฆฌ๊ฐ M(๊ฐ ๋์ชฝ)์ ์์นํ ์ ์๋ ์กฐ๊ฑด์ N์ ๋น ์ง ์์ด ๋ชจ๋ ์ฐ๊ฒฐ์ ๋์ผ ํ๋ฏ๋ก M - N + 1์ด ๋๋ค. DP [ N ][ M ] ์ด๋ผ๊ณ ๋ง๋ค ๋, ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ท์ง์ ์ฐพ์ ์ ์๋๋ฐ N์ด 1์ผ๋๋ M์ ๊ฐ์ ๋งํผ ๊ฒฝ์ฐ์ ์๊ฐ ์๊ธด๋ค. ์ด ์กฐ๊ฑด์ ํจ์์ return(๋ฐํ) ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํ๋ฉด ๋๋ค.๋ N๊ณผ M์ด ๊ฐ์ ๋๋ ๋ชจ๋ ๋ค๋ฆฌ๋ฅผ ์ฐ๊ฒฐ ํ๋ฏ๋ก ์ธ์ ๋ ํ๋์ ๊ฒฝ์ฐ์ ์์ด๋ค. ์ด๊ฑฐ ๋ํ ํจ์์ return(๋ฐํ)์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํ๋ค. N(๊ฐ ์์ชฝ)์ ๋งจ ์ ๋ค๋ฆฌ๋ฅผ M(๊ฐ ..
" ( ๋ฐฑ์ค/ C++ ) 9095 - 1, 2, 3 ๋ํ๊ธฐ "https://www.acmicpc.net/problem/9095 ๋ฌธ์ ๋ณด์ ๋ง์.. ์ ? ์ฌ๊ท ? ํ๊ณ , n์ 11๋ณด๋ค ์์ ์์์๋ค. dp๋ก ์ ํ์ด๋ ๋๋ ๋ฌธ์ ์๋๊ฐ ์๊ฐํ๋ค. ์๋์ ๊ฐ์ด ์ด๋ ํ ๋ฐฉ๋ฒ์ด๋ ํฉ์ด N์ด ๋๋ฉด ๋๊ธฐ ๋๋ฌธ์ N์ด ๋๋ฉด ๊ฒฐ๊ณผ๊ฐ์ ++ ํด์ฃผ๊ฒ ์ฝ๋ฉ ํ๋ค. ๊ฐํ์ ์ ๋ถ์ฌ์ ํ๋ ธ์๋๋ฐ 4%์์ ํ๋ ธ๋ค๊ณ ํ๋ฉด ๊ฐํ ์ ๋ถ์ฌ์ ์ด๋ค. // 9095 - 1,2,3 ๋ํ๊ธฐ#includeusing namespace std;int aResult = 0;void Func(int pNum, int pTarget){ if (pNum > pTarget) return; if (pNum == pTarget) { aResult++; ..
"(๋ฐฑ์ค/ C++) 1520 - ๋ด๋ฆฌ๋ง๊ธธ / ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ" ์ด๊ฑด DP ์ค ์ด๋ ค์ด ๋ฌธ์ ์ ์ํ๋๊ฒ ์๋๊ฑฐ ๊ฐ์๋ฐ ์๋ชป ์๊ฐํด์ ๊ณ์ ํ๋ ธ๋ค.. ์ฒ์ ์๊ฐํ์ ๋ ๋์ ๊ณณ์์ ๋ฎ์ ๊ณณ์ผ๋ก ์ด๋ํ๋ค๊ณ ํด์ ์๋ก ↑ ๊ฐ ์ ์๋ค๊ณ ์๊ฐํ๋๋ฐ ๋์ ๊ณณ๊ณผ ๋ฎ์ ๊ณณ์ ๊ธฐ์ค์ ๋ฐฐ์ด ์์ ์ซ์์ง ๋ฐฐ์ด์ ์์น๋ฅผ ๋ฐ์ง๋ ๊ฒ์ด ์๋๋ค. ๊ทธ๋ผ ์ฆ → ์ฐ ↑ ์ ← ์ข ↓ ์๋ ๋ชจ๋ ๊ฐ๋ฅํ๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์ ํ์ด๋ฅผ ๋ณด๋ฉด 0, 0 ๋ถํฐ M-1, N-1๊น์ง ์ค๋ ๊ฒฝ๋ก์๋ง 1์ ๋ฆฌํด ํด์ค๋ค. ๋๋ ๊ฑฐ๊พธ๋ก ์๊ฐํ๊ณ , ๋ชฉ์ ์ง ๋ถํฐ ์คํํธ ๊น์ง ๊ฐ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํํ๋ค. ์ฌ์ค ์ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ฒ๋ผ(?) ๋ฐ๋ณด๊ฐ์ด ๋ชจ๋ if๋ฌธ์ ๋๋์ง ๋ง๊ณ .. for๋ฌธ์ ์ด์ฉํ์. ๋ค๋ฅธ ์ฌ๋๋ค์ ๋ฌธ์ ํ์ด๋ฅผ ๋ณด๋ฉด ์ข,์ฐ,์,ํ ๋ชจ..