๋‹ค์ต์ŠคํŠธ๋ผ

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

[BOJ] 1238 ํŒŒํ‹ฐ - Java

โœจ ๊ทธ๋ž˜ํ”„ ๐Ÿ‘‰ ๋‹ค์ต์ŠคํŠธ๋ผ (์ตœ๋‹จ๊ฒฝ๋กœ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜) https://www.acmicpc.net/problem/1238 1238๋ฒˆ: ํŒŒํ‹ฐ ์ฒซ์งธ ์ค„์— N(1 โ‰ค N โ‰ค 1,000), M(1 โ‰ค M โ‰ค 10,000), X๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ž…๋ ฅ๋œ๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ M+1๋ฒˆ์งธ ์ค„๊นŒ์ง€ i๋ฒˆ์งธ ๋„๋กœ์˜ ์‹œ์ž‘์ , ๋์ , ๊ทธ๋ฆฌ๊ณ  ์ด ๋„๋กœ๋ฅผ ์ง€๋‚˜๋Š”๋ฐ ํ•„์š”ํ•œ ์†Œ์š”์‹œ๊ฐ„ Ti๊ฐ€ ๋“ค์–ด www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ๊ฐ ํ•™์ƒ๋“ค์˜ ์ง‘์—์„œ ํŒŒํ‹ฐ ์žฅ์†Œ๊นŒ์ง€ ์˜ค๊ณ  ๊ฐ€๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์ตœ๋‹จ ์‹œ๊ฐ„ ๊ตฌํ•˜๊ธฐ ๋„๋กœ๋“ค์€ ๋‹จ๋ฐฉํ–ฅ ๐Ÿ‘‰ ๊ธธ๋งˆ๋‹ค ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋‹ค๋ฅด๋ฏ€๋กœ ์˜ค๊ณ  ๊ฐ€๋Š” ๊ธธ ๋˜ํ•œ ๋‹ค๋ฆ„ ! N๋ช…์˜ ํ•™์ƒ๋“ค ์ค‘ ์˜ค๊ณ  ๊ฐ€๋Š” ๋ฐ ๊ฐ€์žฅ ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•œ ํ•™์ƒ ์ถœ๋ ฅ ๐Ÿ•น๏ธ ํ’€์ด๊ณผ์ • ์ง‘์—์„œ ํŒŒํ‹ฐ ์žฅ์†Œ๊นŒ์ง€ ๊ฐ€๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์ตœ๋‹จ ์‹œ๊ฐ„ + ํŒŒํ‹ฐ ์žฅ์†Œ์—์„œ..

์•Œ๊ณ ๋ฆฌ์ฆ˜/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์ด๊ธฐ ๋•Œ๋ฌธ..

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

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

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

soogoori
'๋‹ค์ต์ŠคํŠธ๋ผ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก