๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Algorithm๐Ÿฐ/๋ฐฑ์ค€61

[๋ฐฑ์ค€] 1753 ์ตœ๋‹จ ๊ฒฝ๋กœ dijkstra ๋ฌธ์ œ : www.acmicpc.net/problem/1753 1753๋ฒˆ: ์ตœ๋‹จ๊ฒฝ๋กœ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ V์™€ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ E๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1≤V≤20,000, 1≤E≤300,000) ๋ชจ๋“  ์ •์ ์—๋Š” 1๋ถ€ํ„ฐ V๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์‹œ์ž‘ ์ •์ ์˜ ๋ฒˆํ˜ธ K(1≤K≤V)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋ถ„์„ : ๋Œ€ํ‘œ์ ์ธ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ์ด๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ์˜ ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐฐ์—ด ๋˜๋Š” ์šฐ์„ ์ˆœ์œ„ ํ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐฐ์—ด๋กœ ์‚ฌ์šฉ ํ•  ์‹œ ์‹œ์ž‘ ๋…ธ๋“œ์™€ ๋๋‚˜๋Š” ๋…ธ๋“œ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๋„ฃ๊ธฐ ์œ„ํ•ด int v[in][to] = w ์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ ๋ฌธ์ œ์˜ ๋ฐฐ์—ด์˜ ๋ฒ”์œ„๊ฐ€ 20000์ด๋ผ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚˜ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅ ํ–ˆ๋‹ค. ์ด๋Š” ๋ชจ๋“  ๋…ธ๋“œ๋“ค์— ๋Œ€ํ•ด for๋ฌธ์„ ๋Œ๋ฉด์„œ ๋˜.. 2021. 3. 10.
[๋ฐฑ์ค€] 12865 ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ knapsack ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ : www.acmicpc.net/problem/12865 12865๋ฒˆ: ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ ์ฒซ ์ค„์— ๋ฌผํ’ˆ์˜ ์ˆ˜ N(1 ≤ N ≤ 100)๊ณผ ์ค€์„œ๊ฐ€ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ K(1 ≤ K ≤ 100,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑฐ์ณ ๊ฐ ๋ฌผ๊ฑด์˜ ๋ฌด๊ฒŒ W(1 ≤ W ≤ 100,000)์™€ ํ•ด๋‹น ๋ฌผ๊ฑด์˜ ๊ฐ€์น˜ V(0 ≤ V ≤ 1,000) www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” knapsack ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋Œ€ํ‘œ์ ์ธ ๋ฌธ์ œ์ด๋‹ค. ๐Ÿ™ knapsack ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌด๊ฒŒ์™€ ๊ฐ€์น˜๊ฐ€ ๋”ฐ๋กœ ์žˆ๊ณ  ์ตœ๋Œ€ ๊ฐ€์น˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ greedy๋ก  ์ตœ๋Œ€ ๊ฐ€์น˜๋ฅผ ๋ณด์žฅ ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— DP๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค. D[i][j] - j ๋งŒํผ์˜ ๋ฌด๊ฒŒ๋ฅผ ๊ฐ€์ง„ i๋ฒˆ์งธ๊นŒ์ง€ ๋ฌผ๊ฑด๋“ค์˜ ๊ฐ€์น˜ V[i] - i ๋ฒˆ์งธ ๋ฌผ๊ฑด์˜ ๊ฐ€์น˜ W[i] - i๋ฒˆ์งธ.. 2021. 3. 9.
[๋ฐฑ์ค€] 11000 ๊ฐ•์˜์‹ค ๋ฐฐ์ • priority-queue, greedy ๋ฌธ์ œ : www.acmicpc.net/problem/11000 11000๋ฒˆ: ๊ฐ•์˜์‹ค ๋ฐฐ์ • ์ฒซ ๋ฒˆ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 200,000) ์ดํ›„ N๊ฐœ์˜ ์ค„์— Si, Ti๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Si < Ti ≤ 109) www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ์–ธ๋œป ๋ณด๋ฉด 19598๋ฒˆ ์ตœ์†Œ ํšŒ์˜์‹ค ๊ฐœ์ˆ˜ ๋ฌธ์ œ์™€ ๋น„์Šทํ•ด ๋ณด์ธ๋‹ค. ํ•˜์ง€๋งŒ N์˜ ๋ฒ”์œ„๊ฐ€ 200,000d์œผ๋กœ O(N^2)์œผ๋กœ ํ’€๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค ๐Ÿ˜ข ๊ทธ๋ž˜์„œ ์ž๋™์œผ๋กœ ๊ฐ•์˜ ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ์งง์€ ์นœ๊ตฌ ์ˆœ์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์ด์šฉํ•˜์˜€๋‹ค. (์ฒ˜์Œ ์จ๋ณธ๋‹ค .. ํ•˜ํ•˜) ์šฐ์„  ์ˆœ์œ„ํ๋Š” ์ž๋ฃŒํ˜• T, Container, ์‚ฌ์šฉ์ž ์ •์˜ ๋น„๊ต ์—ฐ์‚ฐ(struct, class - operator ์—ฐ์‚ฐ์ž) ์ด 3๊ฐ€์ง€๋ฅผ ์ •์˜ํ•ด ์ค˜์•ผ ํ•˜๊ณ  pq.. 2021. 3. 7.
[๋ฐฑ์ค€] 10974 ๋ชจ๋“  ์ˆœ์—ด ๋ฐฑํŠธ๋ž˜ํ‚น ๋ฌธ์ œ : www.acmicpc.net/problem/10974 10974๋ฒˆ: ๋ชจ๋“  ์ˆœ์—ด N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆœ์—ด์„ ์‚ฌ์ „์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. www.acmicpc.net ๋ถ„์„ : ์‚ฌ์‹ค ์ „ํ˜€ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•„์„œ ๋ธ”๋กœ๊ทธ๋“ค์„ ์ฐธ๊ณ ํ•˜์—ฌ ํ’€์—ˆ๋‹ค. dfs๊ฐ€ ๋ฐฑํŠธ๋ž˜ํ‚น์ด๋ž‘ ๊ด€๋ จ์ด ๊นŠ๋‹ค ํ–ˆ๋Š”๋ฐ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐ”๋กœ ๋ฐฑํŠธ๋ž˜ํ‚น ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ์ „์ ์ธ ๋ฌธ์ œ๋ผ๊ณ  ํ•œ๋‹ค. c++ ์—์„  next_permutation์ด๋ผ๋Š” ์ˆœ์—ด ์ฐพ๋Š” ํ•จ์ˆ˜๊ฐ€ ์— ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๊ฑธ ์ด์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ๋ฐฑํŠธ๋ž™ํ‚น ์—ฐ์Šต์„ ์œ„ํ•ด ๋ฐฑํŠธ๋ž™ํ‚น ๋ฐฉ์‹์œผ๋กœ ์™„์ „ ํƒ์ƒ‰ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์•˜๋‹ค. dfs์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ visit (๋ฐฉ๋ฌธํ–ˆ๋Š”์ง€ ์•ˆํ–ˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฐ์—ด)์ด ํ•„์š”๋กœ ๋œ๋‹ค. v vector์— ๋„ฃ์–ด์ฃผ๋Š”๋ฐ ๋ฐฉ.. 2021. 2. 27.
[๋ฐฑ์ค€] 2617 ๊ตฌ์Šฌ ์ฐพ๊ธฐ DFS ๋ฌธ์ œ : www.acmicpc.net/problem/2617 2617๋ฒˆ: ๊ตฌ์Šฌ ์ฐพ๊ธฐ ๋ชจ์–‘์€ ๊ฐ™์œผ๋‚˜, ๋ฌด๊ฒŒ๊ฐ€ ๋ชจ๋‘ ๋‹ค๋ฅธ N๊ฐœ์˜ ๊ตฌ์Šฌ์ด ์žˆ๋‹ค. N์€ ํ™€์ˆ˜์ด๋ฉฐ, ๊ตฌ์Šฌ์—๋Š” ๋ฒˆํ˜ธ๊ฐ€ 1,2,...,N์œผ๋กœ ๋ถ™์–ด ์žˆ๋‹ค. ์ด ๊ตฌ์Šฌ ์ค‘์—์„œ ๋ฌด๊ฒŒ๊ฐ€ ์ „์ฒด์˜ ์ค‘๊ฐ„์ธ (๋ฌด๊ฒŒ ์ˆœ์„œ๋กœ (N+1)/2๋ฒˆ์งธ) ๊ตฌ์Šฌ์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ๋ฐฐ์—ด์„ ๋‘๊ฐœ๋กœ ๋‚˜๋ˆ ์„œ ์“ธ ์ƒ๊ฐ์„ ๋ชปํ•ด์„œ ๋ฐฐ์—ด์„ ์–ด๋–ป๊ฒŒ ๋‹ด์•„์•ผ ํ•˜๋Š”์ง€ ํƒ€์ž…์— ๊ด€ํ•ด ๊ณ ๋ฏผ์ด ๋งŽ์•˜๋‹ค. ์‹ฌ์ง€์–ด ๋‚ด๊ฐ€ ์ž˜ ๋ชป์“ฐ๋Š” ์žฌ๊ท€ํ•จ์ˆ˜๊นŒ์ง€ ์‚ฌ์šฉํ•ด์„œ ๊ฐ ์žก๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋‹ค ๐Ÿ˜… ๋ฌธ์ œ์—์„œ ์›ํ•˜๋Š” ๊ฒƒ์€ ๋ฌด๊ฒŒ๊ฐ€ ์ค‘๊ฐ„์ด ๋  ์ˆ˜ ์—†๋Š” ๊ตฌ์Šฌ์˜ ์ˆ˜๋ฅผ ์ฐพ์œผ๋ผ๊ณ  ํ•œ๋‹ค. ์ค‘๊ฐ„์ด ๋  ์ˆ˜ ์—†์œผ๋ ค๋ฉด ๊ฐ๊ฐ ๋‹ด์€ light, heavy vector์— ์ธ์ ‘ํ•œ ๋…ธ๋“œ๋“ค์ด ๋งŽ์ด ๋‹ด๊ฒจ ๋น„๊ต๊ฐ€ ๋งŽ์ด ๋˜์–ด์•ผ ํ•œ๋‹ค. .. 2021. 2. 26.
[๋ฐฑ์ค€] 2003 ์ˆ˜๋“ค์˜ ํ•ฉ2 ํˆฌ ํฌ์ธํ„ฐ ๋ฌธ์ œ : www.acmicpc.net/problem/2003 2003๋ฒˆ: ์ˆ˜๋“ค์˜ ํ•ฉ 2 ์ฒซ์งธ ์ค„์— N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” A[1], A[2], …, A[N]์ด ๊ณต๋ฐฑ์œผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ A[x]๋Š” 30,000์„ ๋„˜์ง€ ์•Š๋Š” ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ๋ถ„์„ : ํˆฌ ํฌ์ธํ„ฐ๋ž€ 1์ฐจ์› ๋ฐฐ์—ด์— ๋Œ€ํ•ด ํฌ์ธํ„ฐ๋ฅผ ์–‘ ๋๋‹จ์— ๋‘๊ณ  ๊ฐ’์„ ์ฐพ๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. ์กฐ๊ฑด(m)์— ํ•ด๋‹น ๋˜๋Š” ๊ฐ’์„ ์ฐพ์œผ๋ฉด cnt๋ฅผ ์ฆ๊ฐ€ m ๋ณด๋‹ค ์ž‘์€ ๊ฐ’์ด๋ฉด end ์ธ๋ฑ์Šค ์œ„์น˜์˜ ๊ฐ’์„ sum์— ์ €์žฅํ•˜๊ณ  end ํ•˜๋‚˜ ์ฆ๊ฐ€ m ๋ณด๋‹ค ํฐ ๊ฐ’์ด๋ฉด start ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ ๋นผ๊ณ  start๋ฅผ ํ•˜๋‚˜ ์ฆ๊ฐ€์‹œํ‚ด c++ ์ฝ”๋“œ : // // 2003_sum2.cpp // S.. 2021. 2. 26.
[๋ฐฑ์ค€] 2667 ๋‹จ์ง€ ๋ฒˆํ˜ธ ๋ถ™์ด๊ธฐ BFS ๋ฌธ์ œ : www.acmicpc.net/problem/2667 2667๋ฒˆ: ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ ๊ณผ ๊ฐ™์ด ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ์ง€๋„๊ฐ€ ์žˆ๋‹ค. 1์€ ์ง‘์ด ์žˆ๋Š” ๊ณณ์„, 0์€ ์ง‘์ด ์—†๋Š” ๊ณณ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฒ ์ˆ˜๋Š” ์ด ์ง€๋„๋ฅผ ๊ฐ€์ง€๊ณ  ์—ฐ๊ฒฐ๋œ ์ง‘์˜ ๋ชจ์ž„์ธ ๋‹จ์ง€๋ฅผ ์ •์˜ํ•˜๊ณ , ๋‹จ์ง€์— ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ด๋ ค ํ•œ๋‹ค. ์—ฌ www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” BFS๋กœ ํ’€์—ˆ๋‹ค.(DFS๋กœ ํ’€์–ด๋„ ๋…ธ์ƒ๊ด€) ์ „ํ˜•์ ์ธ BFS ๋ฌธ์ œ์ด์ง€๋งŒ ๋Š์–ด์ง„ ๋ฐฉ๋ฌธ ์œ„์น˜๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ข…๋งŒ๋ถ์—์„œ ๋ณด์•˜๋˜ ๊ฒƒ์ฒ˜๋Ÿผ BFS_ALL์„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. c++ ์ฝ”๋“œ : // // 2667_complex.cpp // SOMA๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป // // Created by JoSoJeong on 2021/02/14. // #include #include #include #include #i.. 2021. 2. 19.
[๋ฐฑ์ค€] 18870 ์ขŒํ‘œ ์••์ถ• ๋ฌธ์ œ : www.acmicpc.net/problem/18870 18870๋ฒˆ: ์ขŒํ‘œ ์••์ถ• ์ˆ˜์ง์„  ์œ„์— N๊ฐœ์˜ ์ขŒํ‘œ X1, X2, ..., XN์ด ์žˆ๋‹ค. ์ด ์ขŒํ‘œ์— ์ขŒํ‘œ ์••์ถ•์„ ์ ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค. Xi๋ฅผ ์ขŒํ‘œ ์••์ถ•ํ•œ ๊ฒฐ๊ณผ X'i์˜ ๊ฐ’์€ Xi > Xj๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ขŒํ‘œ์˜ ๊ฐœ์ˆ˜์™€ ๊ฐ™์•„์•ผ ํ•œ๋‹ค. X1, X2, ..., XN์— ์ขŒ www.acmicpc.net ๋ถ„์„ : ์ขŒํ‘œ ์••์ถ•์€ ์ˆ˜์ง์„  ์ƒ ๋„“์€ ๋ฒ”์œ„์— ๋น„ํ•ด ์ ์€ ์ ์„ ์ฐ๋Š” ๊ฒƒ์ด ๋น„ํšจ์œจ์ ์ด๋ผ๋Š” ์ ์—์„œ ๊ณ ์•ˆํ•œ ๊ธฐ์ˆ ์ด๋‹ค. ( ์œ„ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€๋‹ค.) ์ ์˜ ์ขŒํ‘œ๋ฅผ ์ธ๋ฑ์‹ฑํ•˜์—ฌ ์ •๋ ฌ๋œ ์ˆœ์„œ๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋งค๊ธฐ๋Š” ๋ฐฉ์‹์ด๋‹ค. unique : ex > unique(index.begin(), index.end()) index ๋ผ๋Š” ๋ฒกํ„ฐ์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ์›์†Œ๋ฅผ ์žฌ.. 2021. 2. 19.
[๋ฐฑ์ค€] 2660 ํšŒ์žฅ ๋ฝ‘๊ธฐ Floyd Warshall ๋ฌธ์ œ : www.acmicpc.net/problem/2660 2660๋ฒˆ: ํšŒ์žฅ๋ฝ‘๊ธฐ ์ž…๋ ฅ์˜ ์ฒซ์งธ ์ค„์—๋Š” ํšŒ์›์˜ ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ๋‹จ, ํšŒ์›์˜ ์ˆ˜๋Š” 50๋ช…์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ๋‘˜์งธ ์ค„ ์ดํ›„๋กœ๋Š” ํ•œ ์ค„์— ๋‘ ๊ฐœ์˜ ํšŒ์›๋ฒˆํ˜ธ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด๊ฒƒ์€ ๋‘ ํšŒ์›์ด ์„œ๋กœ ์นœ๊ตฌ์ž„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ํšŒ์›๋ฒˆํ˜ธ๋Š” 1๋ถ€ํ„ฐ www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ ์—ญ์‹œ ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ์„ ์ด์šฉํ•ด ํ’€์—ˆ๋‹ค. ๋ฌธ์ œ ์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ๋˜์—ˆ๋Š”๋ฐ ํšŒ์žฅ ํ›„๋ณด์˜ ์ ์ˆ˜, ํšŒ์žฅ ํ›„๋ณด์˜ ์ˆ˜ ํšŒ์žฅ ํ›„๋ณด ์ธ๋ฑ์Šค ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ์ด ๋ชจ์ž„์€ ์นœ๊ตฌ, ์นœ๊ตฌ์˜ ์นœ๊ตฌ, ์นœ๊ตฌ์˜ ์นœ๊ตฌ์˜ ์นœ๊ตฌ .. ๊ด€๊ณ„์— ๋Œ€ํ•ด์„œ 1, 2, 3์ ์„ ๊ฐ€์ง„๋‹ค. ํšŒ์žฅ์€ ์ ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ์ฆ‰ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์— ๋Œ€ํ•ด์„œ ์นœ๊ตฌ์ธ ์‚ฌ๋žŒ์ด ํšŒ์žฅ ํ›„๋ณด๋กœ ์ ํ•ฉํ•˜๋‹ค๊ณ  ์–˜๊ธฐํ•œ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ํ•œ ์‚ฌ๋žŒ์ด ์นœ๊ตฌ, ์นœ๊ตฌ์˜ ์นœ๊ตฌ ๊ด€.. 2021. 2. 18.
[๋ฐฑ์ค€] 11403 ๊ฒฝ๋กœ ์ฐพ๊ธฐ Floyd Warshall ๋ฌธ์ œ : www.acmicpc.net/problem/11403 11403๋ฒˆ: ๊ฒฝ๋กœ ์ฐพ๊ธฐ ๊ฐ€์ค‘์น˜ ์—†๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ G๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋“  ์ •์  (i, j)์— ๋Œ€ํ•ด์„œ, i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด๋ณด์•˜๋‹ค. ๋ฐฑ์ค€ ๋…ผ์˜ ๋ณด๋‹ˆ๊นŒ DFS, BFS ๋กœ๋„ ํ’€ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„ ๋ณด์˜€๋‹ค. ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ์€ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ๋Š” ๋‹ฌ๋ฆฌ ๋ชจ๋“  ์ •์ ์—์„œ ๋ชจ๋“  ์ •์ ์œผ๋กœ์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ€์žฅ ์ ์€ ๋น„์šฉ์„ ํ•˜๋‚˜์”ฉ ์„ ํƒํ–ˆ๋‹ค๋ฉด ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ์€ ๊ฑฐ์ณ๊ฐ€๋Š” ์ •์ ์„ ๊ธฐ์ค€์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด ํฌ์ธํŠธ์˜€๋‹ค. ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ์€ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์˜๊ฑฐํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ฐ€์žฅ ์ดํ•ด๋˜๋Š” .. 2021. 2. 18.
[๋ฐฑ์ค€] 2178 ๋ฏธ๋กœ ํƒ์ƒ‰ bfs ๋ฌธ์ œ : www.acmicpc.net/problem/2178 2178๋ฒˆ: ๋ฏธ๋กœ ํƒ์ƒ‰ ์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ N, M(2 ≤ N, M ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” M๊ฐœ์˜ ์ •์ˆ˜๋กœ ๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ์ˆ˜๋“ค์€ ๋ถ™์–ด์„œ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ๊ฒฝ๋กœ ํƒ์ƒ‰ ๋ฌธ์ œ์ด๋‹ค. DFS, BFS ๋‘˜ ์ค‘ ์•„๋ฌด๊ฑฐ๋‚˜ ํ’€์–ด๋„ ์ƒ๊ด€ ์—†์–ด ๋ณด์ธ๋‹ค. ๋‚˜๋Š” BFS ์—ฐ์Šต์„ ์œ„ํ•ด BFS ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ๋‹ค. cin ์€ ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ input์„ ๋ฐ›๋Š” ๊ฒƒ ๊ฐ™์•„์„œ scanf์˜ ๋„์›€์„ ๋ฐ›์•˜๋‹ค. cin ์œผ๋กœ ํ’€ ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ• ์•Œ๋ฉด ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿฅบ 2์ฐจ์› ํ–‰๋ ฌ์— ๊ฐ’์ด 1 (์ง€๋‚˜๊ฐˆ ์ˆ˜์žˆ๋Š” ์นธ) ์ธ๊ฒฝ์šฐ true๋กœ ๋‹ด์•˜๊ณ  ์•„๋‹ˆ๋ฉด false๋กœ ๊ฐ’์„ ์ดˆ๊ธฐํ™” ํ•˜์˜€๋‹ค. ์ด ๋ฌธ์ œ๋Š” input ๊ฐ’์ด 0.. 2021. 2. 17.
[๋ฐฑ์ค€] 1931 ํšŒ์˜์‹ค ๋ฐฐ์ • ๋ฌธ์ œ : www.acmicpc.net/problem/1931 1931๋ฒˆ: ํšŒ์˜์‹ค ๋ฐฐ์ • (1,4), (5,7), (8,11), (12,14) ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ๋Œ€ํ‘œ์ ์ธ greedy algorithm์œผ๋กœ ํ‘ธ๋Š” ๋ฌธ์ œ์ด๋‹ค. ํšŒ์˜์‹ค, ๊ฐ€๋ฐฉ ๋ฐฐ๋‚ญ ๋“ฑ ๊ณ ์ „์ ์ธ ๋ฌธ์ œ ์œ ํ˜•์ธ๊ฑฐ ๊ฐ™๋‹ค. ๋ฒกํ„ฐ์— ์ธํ’‹๊ฐ’์„ ๋ชจ๋‘ ๋‹ด์€ ๋’ค ํ•ต์‹ฌ์€ ํšŒ์˜๊ฐ€ ๋๋‚˜๋Š” ์‹œ๊ฐ„ second ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ์„ ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  for๋ฌธ์„ ๋Œ๋ฉด์„œ ๊ฒ€์‚ฌํ•˜๋Š”๋ฐ ์ด์ „ ํšŒ์˜์˜ ๋๋‚˜๋Š” ์‹œ๊ฐ„ < ๋‹ค์Œ ํšŒ์˜ ์‹œ๊ฐ„ ์ด๋ฉด์€ ํšŒ์˜๊ฐ€ ์‹œ์ž‘ ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ cnt ๊ฐ’์„ ์ฆ๊ฐ€์‹œ์ผœ ํšŒ์˜์˜ ๊ฐฏ์ˆ˜๋ฅผ ์…Œ๋‹ค. c++ ์ฝ”๋“œ : // // 1931_room.cpp // SOMA๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป // // Created by JoSoJeong.. 2021. 2. 17.
[๋ฐฑ์ค€] 19598 ์ตœ์†Œ ํšŒ์˜์‹ค ๊ฐœ์ˆ˜ ๋ฌธ์ œ : www.acmicpc.net/problem/19598 19598๋ฒˆ: ์ตœ์†Œ ํšŒ์˜์‹ค ๊ฐœ์ˆ˜ ์„œ์ค€์ด๋Š” ์•„๋น ๋กœ๋ถ€ํ„ฐ N๊ฐœ์˜ ํšŒ์˜๋ฅผ ๋ชจ๋‘ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ํšŒ์˜์‹ค ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ผ๋Š” ๋ฏธ์…˜์„ ๋ฐ›์•˜๋‹ค. ๊ฐ ํšŒ์˜๋Š” ์‹œ์ž‘ ์‹œ๊ฐ„๊ณผ ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ์ฃผ์–ด์ง€๊ณ  ํ•œ ํšŒ์˜์‹ค์—์„œ ๋™์‹œ์— ๋‘ ๊ฐœ ์ด์ƒ์˜ ํšŒ์˜ www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ์ฃผ์–ด์ง„ ์ธํ’‹์— ๋Œ€ํ•ด ํ•„์š”๋กœ ๋˜๋Š” ์ตœ์†Œ ํšŒ์˜์‹ค ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋‹ค. greedy๋ฅผ ์ด์šฉํ•ด ํ’€์—ˆ๊ณ  ํšŒ์˜์‹ค์ด 3๊ฐœ, ํšŒ์˜์‹ค ์ด์šฉ ์‹œ๊ฐ„์€ 0 40 15 30 5 10 ์œผ๋กœ ์ฃผ์–ด์งˆ ๋•Œ 1. ํšŒ์˜ ์‹œ์ž‘ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ์„ ํ•œ๋‹ค. 0 40 5 10 15 30 ํ•จ์ˆ˜ ์•ˆ์—์„œ ์ฒ˜์Œ์— 0, 40์„ vv vector์— ๋‹ด์€ ๋’ค v ํ•จ์ˆ˜ ๋‹ค ๋Œ ๋•Œ๊นŒ์ง€ vv ํฌ๊ธฐ๋งŒํผ if๋ฌธ์„ ๋Œ๊ฒŒ๋œ๋‹ค. else ๋ฌธ.. 2021. 2. 17.
[๋ฐฑ์ค€] 10818 ์ตœ์†Œ, ์ตœ๋Œ€ ๋ฌธ์ œ : www.acmicpc.net/search#q=10818&c=Problems ๊ฒ€์ƒ‰ www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ๋ชปํ‘ผ ๋ฌธ์ œ์— ์žˆ๊ธธ๋ž˜ ํด๋ฆญ ํ•ด๋ณด๋‹ˆ ๋น„๊ต์  ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ๋ผ์„œ ํ’€์—ˆ๋‹ค. 1๋…„์ „ ๋ฌธ์ œ๋ผ๋‹ˆ ์„ธ์›”์ด ๋น ๋ฅด๊ตฌ๋‚˜ * ๋ฐ˜๋ก€๋กœ 1 10 ์ผ€์ด์Šค์™€ 2 10 10 ์ผ€์ด์Šค๊ฐ€ ์žˆ์œผ๋‹ˆ ์ž˜ ์ƒ๊ฐํ•ด๋ณด๊ธธ ๋ฐ”๋ž€๋‹ค. ์ฒ˜์Œ์—๋Š” for๋ฌธ ํ•˜๋‚˜์— input ๊ฐ’ ๋„ฃ๊ณ  ๋ฐ”๋กœ ๋น„๊ต ํ•˜๋ ค ํ–ˆ๋Š”๋ฐ ์œ„ ๋‘ ์ผ€์ด์Šค ๋•Œ๋ฌธ์— ๋ถ„๋ฆฌํ•ด์„œ ๋‹ด์•„์คฌ๋‹ค. C++ ์ฝ”๋“œ : // // 10818_min_max.cpp // SOMA๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป // // Created by JoSoJeong on 2021/02/12. // #include #include #include using namespace std; int main(){ int n, max.. 2021. 2. 16.
[๋ฐฑ์ค€] 2110 ๊ณต์œ ๊ธฐ ์„ค์น˜ ๋ฌธ์ œ : www.acmicpc.net/problem/2110 2110๋ฒˆ: ๊ณต์œ ๊ธฐ ์„ค์น˜ ์ฒซ์งธ ์ค„์— ์ง‘์˜ ๊ฐœ์ˆ˜ N (2 ≤ N ≤ 200,000)๊ณผ ๊ณต์œ ๊ธฐ์˜ ๊ฐœ์ˆ˜ C (2 ≤ C ≤ N)์ด ํ•˜๋‚˜ ์ด์ƒ์˜ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ง‘์˜ ์ขŒํ‘œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” xi (0 ≤ xi ≤ 1,000,000,000)๊ฐ€ www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ๋‚ด ๊ธฐ์ค€์„ ์—์„œ ์กฐ๊ธˆ ์‹ ๋ฐ•ํ–ˆ๋˜ (?) ์ด๋ถ„(์ด์ง„) ํƒ์ƒ‰ ๋ฌธ์ œ์˜€๋‹ค. ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ์—๋„ ํ—ท๊ฐˆ๋ ธ๋‹ค. ์ฒ˜์Œ์— ์ •๋ ฌ์„ ํ•œ ๋’ค start ์™€ end ๋ณ€์ˆ˜๋ฅผ ๊ฐ„๊ฒฉ์˜ ์ตœ์†Œ, ์ตœ๋Œ€ ๊ฑฐ๋ฆฌ๋กœ ์„ค์ •ํ•ด ๋‘”๋’ค ์ด ์œ„์น˜๋ฅผ mid ๊ฐ’ ๋ณ€๊ฒฝ์„ ํ†ตํ•ด index ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝ ์‹œํ‚จ ๋’ค start ๊ฐ€ end ์ธ๋ฑ์Šค๋ณด๋‹ค ์ปค์ง€๊ฒŒ ๋˜๋ฉด ์ข…๋ฃŒํ•œ๋‹ค. ๋น„๊ต ๊ธฐ์ค€์€ mid ๊ฐ’์œผ๋กœ.. 2021. 2. 16.
[๋ฐฑ์ค€] 2252 ์ค„์„ธ์šฐ๊ธฐ ๋ฌธ์ œ : www.acmicpc.net/problem/2252 2252๋ฒˆ: ์ค„ ์„ธ์šฐ๊ธฐ ์ฒซ์งธ ์ค„์— N(1≤N≤32,000), M(1≤M≤100,000)์ด ์ฃผ์–ด์ง„๋‹ค. M์€ ํ‚ค๋ฅผ ๋น„๊ตํ•œ ํšŒ์ˆ˜์ด๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ํ‚ค๋ฅผ ๋น„๊ตํ•œ ๋‘ ํ•™์ƒ์˜ ๋ฒˆํ˜ธ A, B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋Š” ํ•™์ƒ A๊ฐ€ ํ•™์ƒ B์˜ ์•ž์— ์„œ์•ผ ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ์ข…๋งŒ๋ถ DFS BFS ๋ถ€๋ถ„์˜ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์ œ ์ค‘ ์œ„์ƒ ์ •๋ ฌ์— ๊ด€ํ•œ ๋ฌธ์ œ์˜€๋‹ค. ์œ„์ƒ ์ •๋ ฌ์ด๋ž€ ์˜์กด์„ฑ์ด ์žˆ๋Š” ์ž‘์—…์ด ์ฃผ์–ด์งˆ ๋•Œ ์ด๋ฅผ ์–ด๋–ค ์ˆœ์„œ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ณ„์‚ฐํ•œ๋‹ค. ์ด๋•Œ ์˜์กด ๊ด€๊ณ„๋ฅผ DAG(์‚ฌ์ดํด ์—†๋Š” ๊ทธ๋ž˜ํ”„) ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์‚ฌ์ดํด์ด ์—†๋‹ค๋Š” ๋œป์€ ์ฆ‰ ํ•œ ๋ฐฉํ–ฅ์—์„œ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ํ˜๋Ÿฌ๊ฐ€๋Š” ๊ผด์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋งํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด DFS BFS ๋Š” ํŠธ๋ฆฌ .. 2021. 2. 14.
[๋ฐฑ์ค€] 10828 stack ๋ฌธ์ œ : www.acmicpc.net/problem/10828 10828๋ฒˆ: ์Šคํƒ ์ฒซ์งธ ์ค„์— ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์˜ ์ˆ˜ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๋ช…๋ น์ด ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋ฌธ์ œ์— ๋‚˜์™€์žˆ์ง€ www.acmicpc.net ๋ถ„์„ : ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๊ต์  ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์—ˆ๋˜ ๋ฌธ์ œ์˜€๋‹ค. ๋‹ค๋งŒ ์ฒ˜์Œ์œผ๋กœ segmentation fault ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋–ด๋Š”๋ฐ top ๋ถ€๋ถ„์— empty ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜์ง€ ์•Š์•„์„œ ๋‚œ ๋ฌธ์ œ์˜€๋‹ค. ์ •์˜๋œ ๋ฌธ์ œ๋ฅผ ์•ž์œผ๋ก  ๋” ์ž˜ ์ฝ์–ด์•ผ๊ฒ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฒ˜์Œ์œผ๋กœ cin ์ด ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌํ•ด ์ฝ๋Š”๋‹ค๋Š” ์ ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด getline ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ๊ณ  cin ๊ณผ getline์„ ๊ฒธ์šฉ.. 2021. 2. 6.
[๋ฐฑ์ค€] 1915 ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜• DP ๋ฌธ์ œ : www.acmicpc.net/problem/1915 1915๋ฒˆ: ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜• ์ฒซ์งธ ์ค„์— n, m(1 ≤ n, m ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” m๊ฐœ์˜ ์ˆซ์ž๋กœ ๋ฐฐ์—ด์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋ถ„์„ : ๋Œ€ํ‘œ์ ์ธ DP ๋ฌธ์ œ๋กœ 1์”ฉ ๋”ํ•˜๋Š”๊ฒŒ ๊ณง ์ •์‚ฌ๊ฐํ˜•์˜ ํ•œ ๋ณ€์ด ๋œ๋‹ค๋Š” ๊ฒŒ ์‹ ๊ธฐํ–ˆ๋‹ค. DP๊ฐ€ ์ „์— ํ•œ๋ฒˆ ๊ณต๋ถ€ํ–ˆ์„ ๋•Œ ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ๋๋Š”๋ฐ ์ด๋ฒˆ์— ์กฐ๊ธˆ ์•Œ๊ฑฐ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์šฐ์„  arr์ด๋ผ๋Š” ์›๋ž˜ 2์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  memo๋ผ๋Š” ๋ฐฐ์—ด์— ๊ฐ’์„ ๊ณ„์‚ฐํ•ด ๋ˆ„์ ํ•œ๋‹ค. arr[i-1][j-1], arr[i-1][j], arr[i][j-1] ๋ชจ๋‘๊ฐ€ 1์ผ๋•Œ๋งŒ์ด arr[i][j]๊ณผ ํ•จ๊ป˜ ์ •์‚ฌ๊ฐํ˜•์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ๋งŒ ๊ฒ€์‚ฌ ํ•œ ๋’ค 1์„ ๋”ํ•ด ํ•œ๋ณ€์„ memo ๋ฐฐ์—ด์— ๋ˆ„์ ํ•ด.. 2021. 2. 5.
[๋ฐฑ์ค€] 1987 ์•ŒํŒŒ๋ฒณ DFS ๋ฌธ์ œ : www.acmicpc.net/problem/1987 1987๋ฒˆ: ์•ŒํŒŒ๋ฒณ ์„ธ๋กœ R์นธ, ๊ฐ€๋กœ C์นธ์œผ๋กœ ๋œ ํ‘œ ๋ชจ์–‘์˜ ๋ณด๋“œ๊ฐ€ ์žˆ๋‹ค. ๋ณด๋“œ์˜ ๊ฐ ์นธ์—๋Š” ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์ด ํ•˜๋‚˜์”ฉ ์ ํ˜€ ์žˆ๊ณ , ์ขŒ์ธก ์ƒ๋‹จ ์นธ (1ํ–‰ 1์—ด) ์—๋Š” ๋ง์ด ๋†“์—ฌ ์žˆ๋‹ค. ๋ง์€ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ธ์ ‘ํ•œ ๋„ค ์นธ ์ค‘์˜ ํ•œ ์นธ์œผ www.acmicpc.net ๋ถ„์„ : ์œ„ ๋ฌธ์ œ๋Š” ์ „ํ˜•์ ์ธ DFS ๋ฌธ์ œ์ด๋‹ค. ์ฒ˜์Œ์—๋Š” ์˜ค๋ฅธ์ชฝ๊ณผ ์•„๋ž˜์ชฝ์œผ๋กœ ๋‚˜์•„๊ฐ€๋Š” ๊ฒƒ๋งŒ ๊ณ ๋ คํ–ˆ๊ณ  ์ˆ˜ํ–‰ํ•œ ์•ŒํŒŒ๋ฒณ์€ set ํ•จ์ˆ˜์— ์ €์žฅํ•ด ๋†“์•„์•ผ์ง€ ์ƒ๊ฐํ•˜์—ฌ ์ ‘๊ทผํ–ˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•ˆ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์—ˆ๋‹ค ํ•˜ํ•˜ ๋งŒ์•ฝ ์ง„ํ–‰ ์ค‘ ๋™์ผํ•œ ์•ŒํŒŒ๋ฒณ์„ ๋งŒ๋‚œ๋‹ค๋ฉด ์ง„ํ–‰ํ•œ ๊ฒƒ์„ ์ง„ํ–‰ํ•˜์ง€ ์•Š์€ ๊ฒƒ์ฒ˜๋Ÿผ ํ•˜์—ฌ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ์ด ํฌ์ธํŠธ์˜€๋‹ค. ์žฌ๊ท€ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ถ”์ƒ์ ์ด๋ผ ์ž˜ ์ดํ•ด๊ฐ€์ง€ ์•Š์•„ ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค๋„ ๋งŽ์ด ํ’€์–ด๋ด์•ผ๊ฒ .. 2021. 2. 5.
[๋ฐฑ์ค€] 2470 ๋‘์šฉ์•ก ์ด๋ถ„ํƒ์ƒ‰ ๋ฌธ์ œ : www.acmicpc.net/problem/2470 2470๋ฒˆ: ๋‘ ์šฉ์•ก ์ฒซ์งธ ์ค„์—๋Š” ์ „์ฒด ์šฉ์•ก์˜ ์ˆ˜ N์ด ์ž…๋ ฅ๋œ๋‹ค. N์€ 2 ์ด์ƒ 100,000 ์ดํ•˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋“ค์€ ๋ชจ๋‘ -1,000,000,000 ์ด์ƒ 1,000,00 www.acmicpc.net ๋ถ„์„ : algorithm์˜ sort ํ•จ์ˆ˜๋Š” ๊ธฐ๋ณธ sort ํ•จ์ˆ˜์™€ ๋‹ฌ๋ฆฌ ๋งˆ์ง€๋ง‰ ์ธ์ž์— ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด 1) ๋ฐฐ์—ด์„ ์ ˆ๋Œ€๊ฐ’ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ 2) ์ ˆ๋Œ€๊ฐ’ ๋น„๊ต๋ฅผ ํ†ตํ•ด ์›๋ž˜ ๊ฐ’ ๋ณ€์ˆ˜์— ์ €์žฅ ํ›„ ๋ˆ„์  3) ๋งˆ์ง€๋ง‰์œผ๋กœ ์‚ฐ์„ฑ๊ณผ ์•Œ์นผ๋ฆฌ ๊ฐ’ ๊ตฌ๋ถ„ํ•ด swap ํ•˜์—ฌ ์ถœ๋ ฅ ํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. c++ ์ฝ”๋“œ : // // 2470_soluti.. 2021. 2. 5.