[c++] BOJ 1238 :: ํŒŒํ‹ฐ
Algorithm ๋ฌธ์ œ/BOJ 2021. 4. 21. 23:11

๋‚œ์ด๋„ : ๊ณจ๋“œ 3 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 45๋ถ„ ๋ฌธ์ œ ํŒŒํ‹ฐ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋ฌธ์ œ N๊ฐœ์˜ ์ˆซ์ž๋กœ ๊ตฌ๋ถ„๋œ ๊ฐ๊ฐ์˜ ๋งˆ์„์— ํ•œ ๋ช…์˜ ํ•™์ƒ์ด ์‚ด๊ณ  ์žˆ๋‹ค. ์–ด๋Š ๋‚  ์ด N๋ช…์˜ ํ•™์ƒ์ด X (1 ≤ X ≤ N)๋ฒˆ ๋งˆ์„์— ๋ชจ์—ฌ์„œ ํŒŒํ‹ฐ๋ฅผ ๋ฒŒ์ด๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ด ๋งˆ์„ ์‚ฌ์ด์—๋Š” ์ด M๊ฐœ์˜ ๋‹จ๋ฐฉํ–ฅ ๋„๋กœ๋“ค์ด ์žˆ๊ณ  i๋ฒˆ์งธ ๊ธธ์„ ์ง€๋‚˜๋Š”๋ฐ Ti(1 ≤ Ti ≤ 100)์˜ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ํ•™์ƒ๋“ค์€ ํŒŒํ‹ฐ์— ์ฐธ์„ํ•˜๊ธฐ ์œ„ํ•ด ๊ฑธ์–ด๊ฐ€์„œ ๋‹ค์‹œ ๊ทธ๋“ค์˜ ๋งˆ์„๋กœ ๋Œ์•„์™€์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด ํ•™์ƒ๋“ค์€ ์›Œ๋‚™ ๊ฒŒ์„๋Ÿฌ์„œ ์ตœ๋‹จ ์‹œ๊ฐ„์— ์˜ค๊ณ  ๊ฐ€๊ธฐ๋ฅผ ์›ํ•œ๋‹ค. ์ด ๋„๋กœ๋“ค์€ ๋‹จ๋ฐฉํ–ฅ์ด๊ธฐ ๋•Œ๋ฌธ์— ์•„๋งˆ ๊ทธ๋“ค์ด ์˜ค๊ณ  ๊ฐ€๋Š” ๊ธธ์ด ๋‹ค๋ฅผ์ง€๋„ ๋ชจ๋ฅธ๋‹ค. N๋ช…์˜ ํ•™์ƒ๋“ค ์ค‘ ์˜ค๊ณ  ๊ฐ€๋Š”๋ฐ ๊ฐ€์žฅ ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•˜๋Š” ํ•™์ƒ์€ ๋ˆ„๊ตฌ์ผ์ง€ ๊ตฌํ•˜์—ฌ๋ผ. ํ’€์ด ๋ชจ๋“  ์ ์—์„œ X๊นŒ์ง€์˜ ์‹œ๊ฐ„๊ณผ X์—์„œ ๋ชจ๋“  ์ ๊นŒ์ง€..

[c++] BOJ 1916 :: ์ตœ์†Œ๋น„์šฉ ๊ตฌํ•˜๊ธฐ
Algorithm ๋ฌธ์ œ/BOJ 2021. 4. 12. 23:32

๋‚œ์ด๋„ : ๊ณจ๋“œ 5 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 30๋ถ„ ๋ฌธ์ œ ์ตœ์†Œ๋น„์šฉ ๊ตฌํ•˜๊ธฐ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ N๊ฐœ์˜ ๋„์‹œ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•œ ๋„์‹œ์—์„œ ์ถœ๋ฐœํ•˜์—ฌ ๋‹ค๋ฅธ ๋„์‹œ์— ๋„์ฐฉํ•˜๋Š” M๊ฐœ์˜ ๋ฒ„์Šค๊ฐ€ ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” A๋ฒˆ์งธ ๋„์‹œ์—์„œ B๋ฒˆ์งธ ๋„์‹œ๊นŒ์ง€ ๊ฐ€๋Š”๋ฐ ๋“œ๋Š” ๋ฒ„์Šค ๋น„์šฉ์„ ์ตœ์†Œํ™” ์‹œํ‚ค๋ ค๊ณ  ํ•œ๋‹ค. A๋ฒˆ์งธ ๋„์‹œ์—์„œ B๋ฒˆ์งธ ๋„์‹œ๊นŒ์ง€ ๊ฐ€๋Š”๋ฐ ๋“œ๋Š” ์ตœ์†Œ๋น„์šฉ์„ ์ถœ๋ ฅํ•˜์—ฌ๋ผ. ๋„์‹œ์˜ ๋ฒˆํ˜ธ๋Š” 1๋ถ€ํ„ฐ N๊นŒ์ง€์ด๋‹ค. ํ’€์ด ๋‹ค์ต์ŠคํŠธ๋ผ ๊ธฐ๋ณธ ๊ตฌํ˜„์„ ์ด์šฉํ•ด์„œ ํ‘ผ๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ๊ฐœ๋… ๋ฐ”๋กœ๊ฐ€๊ธฐ ์ฝ”๋“œ #include #include #include using namespace std; int main() { // ์ตœ์†Œ๋น„์šฉ ๋ฌธ์ œ => bfs / ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰(๋‹ค์ต์ŠคํŠธ๋ผ) // N 10^3์ดํ•˜ M 10^6 ์ดํ•˜ // ์ถœ๋ฐœ, ๋„์ฐฉ, ๋น„์šฉ // ๋น„์šฉ 10^6 ์ดํ•˜ // ๋งˆ์ง€๋ง‰ (์ถœ๋ฐœ..

[c++] BOJ 1753 :: ์ตœ๋‹จ๊ฒฝ๋กœ
Algorithm ๋ฌธ์ œ/BOJ 2021. 4. 6. 13:08

๋‚œ์ด๋„ : ๊ณจ๋“œ 5 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 1์‹œ๊ฐ„ ๋ฐ˜ ์ด์ƒ (์˜ค๋ฅ˜ ์ฐพ๊ธฐ) ๋ฌธ์ œ ์ตœ๋‹จ๊ฒฝ๋กœ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ํ’€์ด ๋‹ค์ต์ŠคํŠธ๋ผ ๊ธฐ๋ณธ ๊ตฌํ˜„์„ ์ด์šฉํ•ด์„œ ํ‘ผ๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ๊ฐœ๋… ๋ฐ”๋กœ๊ฐ€๊ธฐ ์ฝ”๋“œ #include #include #include using namespace std; int main() { // ์ž…๋ ฅ // v, e๋Š” 10^5, 10^6์ดํ•˜ int V; int E; cin >> V >> E; int start; // ์‹œ์ž‘ ์ •์  cin >> start; vector edge(V+1, vector(0)); for (int i = 0; i > from >> to >> val; edge[from].push_back(make_pair(to..