์ตœ๋‹จ๊ฒฝ๋กœ

์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

[BOJ] 1504 ํŠน์ •ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ - Java

โœจ ๋‹ค์ต์ŠคํŠธ๋ผ โž” ์ตœ๋‹จ๊ฒฝ๋กœ https://www.acmicpc.net/problem/1504 1504๋ฒˆ: ํŠน์ •ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N๊ณผ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ E๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ E๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ์„ธ ๊ฐœ์˜ ์ •์ˆ˜ a, b, c๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, a๋ฒˆ ์ •์ ์—์„œ b๋ฒˆ ์ •์ ๊นŒ์ง€ ์–‘๋ฐฉํ–ฅ ๊ธธ์ด ์กด www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ๋ฐฉํ–ฅ์ด ์—†๋Š” ๊ทธ๋ž˜ํ”„์ด๋‹ค. 1๋ฒˆ ์ •์ ์—์„œ N๋ฒˆ ์ •์ ์œผ๋กœ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋กœ ์ด๋™ํ•œ๋‹ค. ์ฃผ์–ด์ง„ ๋‘ ์ •์ ์„ ๋ฐ˜๋“œ์‹œ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค. ๋‘ ์ •์ ์ด v1, v2๋ผ๋ฉด 1 โž” v1 โž” v2 โž” N ๋˜๋Š” 1 โž” v2 โž” v1 โž” N ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ•น๏ธ ํ’€์ด ๋ฐฉ๋ฒ• 1๏ธโƒฃ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์ •๋ณด (์ด๋™ํ•ด์•ผํ•˜๋Š” ๋…ธ๋“œ = v, ํ•ด..

์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

[BOJ] 18352 ํŠน์ • ๊ฑฐ๋ฆฌ์˜ ๋„์‹œ ์ฐพ๊ธฐ - Java

โœจ ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ โœจ BFS, ๋‹ค์ต์ŠคํŠธ๋ผ โž” ์ตœ๋‹จ ๊ฒฝ๋กœ ์ฐพ๊ธฐ https://www.acmicpc.net/problem/18352 18352๋ฒˆ: ํŠน์ • ๊ฑฐ๋ฆฌ์˜ ๋„์‹œ ์ฐพ๊ธฐ ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ N, ๋„๋กœ์˜ ๊ฐœ์ˆ˜ M, ๊ฑฐ๋ฆฌ ์ •๋ณด K, ์ถœ๋ฐœ ๋„์‹œ์˜ ๋ฒˆํ˜ธ X๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ๋‘ ๊ฐœ www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ์ถœ๋ฐœ ๋„์‹œ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ตœ๋‹จ ๊ฑฐ๋ฆฌ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์กด์žฌํ•œ๋‹ค. โž” ํ•ด๋‹นํ•˜๋Š” ์ตœ๋‹จ ๊ฑฐ๋ฆฌ์ธ ๋„์‹œ๋ฅผ ์ฐพ์œผ๋ฉด ๋œ๋‹ค. ํ•˜๋‚˜์˜ ๋„์‹œ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ๋„์‹œ๊นŒ์ง€์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋„์‹œ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๋ชจ๋‘ 1์ด๊ธฐ ๋•Œ๋ฌธ..

์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

[BOJ] 11657 ํƒ€์ž„๋จธ์‹ 

โœจ ์ตœ๋‹จ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ โžก๏ธ ๋ฒจ๋งŒ ํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ https://www.acmicpc.net/problem/11657 11657๋ฒˆ: ํƒ€์ž„๋จธ์‹  ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 500), ๋ฒ„์Šค ๋…ธ์„ ์˜ ๊ฐœ์ˆ˜ M (1 ≤ M ≤ 6,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์—๋Š” ๋ฒ„์Šค ๋…ธ์„ ์˜ ์ •๋ณด A, B, C (1 ≤ A, B ≤ N, -10,000 ≤ C ≤ 10,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  C < 0 ์ธ ๊ฒฝ์šฐ ํƒ€์ž„๋จธ์‹ ์œผ๋กœ ์‹œ๊ฐ„์„ ๋˜๋Œ์•„๊ฐ€๋Š” ๊ฒฝ์šฐ์ด๋‹ค. โž” ์Œ์˜ ๊ฐ€์ค‘์น˜ ์กด์žฌ 1๋ฒˆ ๋„์‹œ์—์„œ ์ถœ๋ฐœํ•œ๋‹ค. ์Œ์˜ ์‚ฌ์ดํด์ด ์žˆ๊ฑฐ๋‚˜ ๊ฒฝ๋กœ๊ฐ€ ์•„์˜ˆ ์—†๋‹ค๋ฉด -1 ์ถœ๋ ฅ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฒ”์œ„ ์กฐ์‹ฌ ๐Ÿ•น๏ธ ํ’€์ด๊ณผ์ • 1๏ธโƒฃ ๊ฐ„์„ ๊ณผ ์ •์ , ๋น„์šฉ์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค. 2๏ธโƒฃ ๋ฒจ๋งŒ ํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉ..

์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

[BOJ] 1865 ์›œํ™€

โœจ ์ตœ๋‹จ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ โžก๏ธ ๋ฒจ๋งŒ ํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ https://www.acmicpc.net/problem/1865 1865๋ฒˆ: ์›œํ™€ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ TC(1 ≤ TC ≤ 5)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ TC๊ฐœ์˜ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๊ฐ€ ์ฐจ๋ก€๋กœ ์ฃผ์–ด์ง€๋Š”๋ฐ ๊ฐ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์ง€์ ์˜ ์ˆ˜ N(1 ≤ N ≤ 500), www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ํ•œ ์ง€์ ์—์„œ ์ถœ๋ฐœํ•˜์—ฌ ๋‹ค์‹œ ์ถœ๋ฐœํ–ˆ๋˜ ์ง€์ ์œผ๋กœ ๋Œ์•„์™”์„ ๋•Œ ์ฒ˜์Œ ์ถœ๋ฐœํ–ˆ์„ ๋•Œ๋ณด๋‹ค ์‹œ๊ฐ„์ด ๋˜๋Œ์•„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ํŒ๋‹จ โž” ์›œํ™€ ๋‚ด์—์„œ ์‹œ๊ฐ„์ด ๊ฑฐ๊พธ๋กœ ํ˜๋Ÿฌ๊ฐ„๋‹ค. โžก๏ธ ์Œ์ˆ˜ ๊ฐ€์ค‘์น˜ ์กด์žฌ & ์Œ์˜ ์‚ฌ์ดํด ์กด์žฌ O ํ•œ ์ง€์ ์—์„œ ์ถœ๋ฐœํ•œ๋‹ค. (ํŠน์ • ์ง€์ ์—์„œ ์ถœ๋ฐœ X) ์ž„์˜์˜ ์ •์ ์—์„œ ์ถœ๋ฐœ ๋ชจ๋“  ์ •์ ์—์„œ ์ถœ๋ฐœ ๋‘ ์ง€์ ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋„๋กœ๊ฐ€ ํ•œ ..

์•Œ๊ณ ๋ฆฌ์ฆ˜/๐Ÿ—‚๏ธ ์ •๋ฆฌ

Dijkstra (๋‹ค์ต์ŠคํŠธ๋ผ)

DP(๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ)๋ฅผ ํ™œ์šฉํ•œ ๋Œ€ํ‘œ์ ์ธ ์ตœ๋‹จ ๊ฒฝ๋กœ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ํ•˜๋‚˜์˜ ์ •์ ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ •์ ๊นŒ์ง€์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž‘์€ ๋ฌธ์ œ๊ฐ€ ํฐ ๋ฌธ์ œ์˜ ๋ถ€๋ถ„ ์ง‘ํ•ฉ์— ์†ํ•ด์žˆ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ•˜๋‚˜์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•  ๋•Œ ๊ทธ ์ด์ „๊นŒ์ง€ ๊ตฌํ–ˆ๋˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ์ •๋ณด๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ๐Ÿ•น๏ธ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณผ์ • ์ถœ๋ฐœ ๋…ธ๋“œ ์„ค์ • ์ถœ๋ฐœ ๋…ธ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ ๋…ธ๋“œ์˜ ์ตœ์†Œ ๋น„์šฉ ์ €์žฅ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ ์ค‘์—์„œ ๊ฐ€์žฅ ๋น„์šฉ์ด ์ ์€ ๋…ธ๋“œ ์„ ํƒ ํ•ด๋‹น ๋…ธ๋“œ ๊ฑฐ์ณ์„œ ํŠน์ •ํ•œ ๋…ธ๋“œ๋กœ ๊ฐ€๋Š” ๊ฒฝ์šฐ ๊ณ ๋ คํ•˜์—ฌ ์ตœ์†Œ ๋น„์šฉ ๊ฐฑ์‹  3๏ธโƒฃ, 4๏ธโƒฃ๋ฒˆ ๋ฐ˜๋ณต ๊ธฐ๋ณธ์ ์ธ ๋‹ค์ต์ŠคํŠธ๋ผ - ์„ ํ˜•ํƒ์ƒ‰ public class Main{ static int INF = 10000..

soogoori
'์ตœ๋‹จ๊ฒฝ๋กœ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก