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

โญ Problem_Solving/๋ฐฑ์ค€30

[๋ฐฑ์ค€] 1662 ์••์ถ• (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/1662 1662๋ฒˆ: ์••์ถ• ์••์ถ•๋˜์ง€ ์•Š์€ ๋ฌธ์ž์—ด S๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ๋ฌธ์ž์—ด์ค‘ ์–ด๋–ค ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์€ K(Q)์™€ ๊ฐ™์ด ์••์ถ• ํ•  ์ˆ˜ ์žˆ๋‹ค. K๋Š” ํ•œ์ž๋ฆฌ ์ •์ˆ˜์ด๊ณ , Q๋Š” 0์ž๋ฆฌ ์ด์ƒ์˜ ๋ฌธ์ž์—ด์ด๋‹ค. ์ด Q๋ผ๋Š” ๋ฌธ์ž์—ด์ด K๋ฒˆ ๋ฐ˜๋ณต๋œ๋‹ค๋Š” ๋œป์ด www.acmicpc.net 1. ์Šคํƒ์„ ํ™œ์šฉํ•œ ๋ฌธ์ž์—ด ๋ฌธ์ œ์ด๋‹ค. 2. ๋ฌธ์ œ๋ฅผ ๋ณด๋ฉด ๊ฐ€์žฅ ๋จผ์ € ๋– ์˜ฌ๋ฆฌ๊ธฐ ์‰ฌ์šด ํ’€์ด๋Š” ์‹ค์ œ๋กœ ๋ฌธ์ž์—ด์„ ์••์ถ•ํ•ด์ œํ•ด์„œ ๊ฒฐ๊ณผ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ๊ฑด๋ฐ, ๊ทธ๋ ‡๊ฒŒ ํ•  ๊ฒฝ์šฐ ๋ฌธ์ž์—ด์˜ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ 2,147,473,647์ธ์ง€๋ผ ๋‹น์—ฐํžˆ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. 3. ํ•ต์‹ฌ์€ ๋ฌธ์ž์—ด ์ „์ฒด๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ '๊ธธ์ด'๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ๊ด„ํ˜ธ ์•ž์— ์œ„์น˜ํ•œ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž๋งŒ ์ˆซ์ž ๊ทธ๋Œ€๋กœ ์ €์žฅํ•˜๊ณ , .. 2022. 10. 5.
[๋ฐฑ์ค€] 20057 ๋งˆ๋ฒ•์‚ฌ ์ƒ์–ด์™€ ํ† ๋„ค์ด๋„ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/20057 20056๋ฒˆ: ๋งˆ๋ฒ•์‚ฌ ์ƒ์–ด์™€ ํŒŒ์ด์–ด๋ณผ ์ฒซ์งธ ์ค„์— N, M, K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ํŒŒ์ด์–ด๋ณผ์˜ ์ •๋ณด๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ํŒŒ์ด์–ด๋ณผ์˜ ์ •๋ณด๋Š” ๋‹ค์„ฏ ์ •์ˆ˜ ri, ci, mi, si, di๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ํŒŒ์ด์–ด๋ณผ์˜ ์œ„์น˜ www.acmicpc.net ํŠน๋ณ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š” ๊ตฌํ˜„ ๋ฌธ์ œ์ด๋‹ค. ๊ตฌํ˜„ํ•ด์•ผํ•  ์š”์†Œ๋Š” ํฌ๊ฒŒ ๋ชจ๋ž˜๋ฐ”๋žŒ์˜ ํ™•์‚ฐ๊ณผ ํ† ๋„ค์ด๋„์˜ ์ด๋™์ด๋‹ค. ๋ชจ๋ž˜๋ฐ”๋žŒ์˜ ํ™•์‚ฐ ๋ชจ๋ž˜๋ฐ”๋žŒ์ด ํ™•์‚ฐ๋˜๋Š” ์ขŒํ‘œ๋ž‘ ๋น„์œจ์„ ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ๋‹ด์•„์ค€๋‹ค. ๋” ๋˜‘๋˜‘ํ•œ ๋ฐฉ๋ฒ•๋„ ์žˆ์„ ๊ฑฐ ๊ฐ™์€๋ฐ ๋‚˜๋Š” ๊ทธ๋ƒฅ ๋ชจ๋“  ์ขŒํ‘œ๋ž‘ ๋น„์œจ์„ ์ผ์ผ์ด ์ž…๋ ฅํ–ˆ๋‹ค ์ด๋Ÿด ๊ฒฝ์šฐ ์˜คํƒ€๊ฐ€ ์žˆ์œผ๋ฉด ๋””๋ฒ„๊น… ์‹œ ๋ฐœ๊ฒฌํ•˜๊ธฐ ๋งค์šฐ ํž˜๋“œ๋‹ˆ ์ฃผ์˜ํ•˜์ž ๋”•์…”๋„ˆ๋ฆฌ์— ์ €์žฅํ•ด๋‘” ์ขŒ.. 2022. 10. 4.
[๋ฐฑ์ค€] 2437 ์ €์šธ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/2437 2437๋ฒˆ: ์ €์šธ ํ•˜๋‚˜์˜ ์–‘ํŒ” ์ €์šธ์„ ์ด์šฉํ•˜์—ฌ ๋ฌผ๊ฑด์˜ ๋ฌด๊ฒŒ๋ฅผ ์ธก์ •ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ด ์ €์šธ์˜ ์–‘ ํŒ”์˜ ๋์—๋Š” ๋ฌผ๊ฑด์ด๋‚˜ ์ถ”๋ฅผ ์˜ฌ๋ ค๋†“๋Š” ์ ‘์‹œ๊ฐ€ ๋‹ฌ๋ ค ์žˆ๊ณ , ์–‘ํŒ”์˜ ๊ธธ์ด๋Š” ๊ฐ™๋‹ค. ๋˜ํ•œ, ์ €์šธ์˜ ํ•œ์ชฝ์—๋Š” ์ €์šธ์ถ”๋“ค๋งŒ ๋†“ www.acmicpc.net ๊ทธ๋ฆฌ๋”” ๋ฌธ์ œ๋กœ ์ •๋‹ต์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ๋งค์šฐ ๋‹จ์ˆœํ•œ๋ฐ ์•„์ด๋””์–ด๋ฅผ ๋– ์˜ฌ๋ฆฌ๊ธฐ๊นŒ์ง€๊ฐ€ ๋งค์šฐ ํž˜๋“ค๋‹ค. ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ํ˜„์žฌ๊นŒ์ง€ ์ธก์ • ๊ฐ€๋Šฅํ•œ ๋ฌด๊ฒŒ์˜ ์ตœ๋Œ“๊ฐ’์„ ans๋ผ๊ณ  ํ•˜๋ฉด (1 - ans)์˜ ๊ฐ’๋“ค์„ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋ฌด๊ฒŒ์ถ”๋“ค ์ค‘์—์„œ ํ•˜๋‚˜์˜ ๋ฌด๊ฒŒ์ถ”(weight)์„ ์„ ํƒํ•œ๋‹ค. weight ans + 1๋ผ๋ฉด ans + 1์˜ ๊ฐ’์€ ์ธก์ • ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ํ•ด๋‹น ๊ฐ’์ด ์ •๋‹ต์ด ๋œ๋‹ค. ๋‹จ 1, 1, 1, 1 ํ˜น.. 2022. 10. 3.
[๋ฐฑ์ค€] 20056 ๋งˆ๋ฒ•์‚ฌ ์ƒ์–ด์™€ ํŒŒ์ด์–ด๋ณผ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/20056 20056๋ฒˆ: ๋งˆ๋ฒ•์‚ฌ ์ƒ์–ด์™€ ํŒŒ์ด์–ด๋ณผ ์ฒซ์งธ ์ค„์— N, M, K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ํŒŒ์ด์–ด๋ณผ์˜ ์ •๋ณด๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ํŒŒ์ด์–ด๋ณผ์˜ ์ •๋ณด๋Š” ๋‹ค์„ฏ ์ •์ˆ˜ ri, ci, mi, si, di๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ํŒŒ์ด์–ด๋ณผ์˜ ์œ„์น˜ www.acmicpc.net ํŠน๋ณ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š” ๊ตฌํ˜„ ๋ฌธ์ œ์ด๋‹ค. ์–ด๋–ค ์ž๋ฃŒ๊ตฌ์กฐํ˜•์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ด์„œ ํŒŒ์ด์–ด๋ณผ์˜ ์ •๋ณด์™€ ์œ„์น˜ ๋“ฑ์„ ๋‚˜ํƒ€๋‚ผ ๊ฒƒ์ธ๊ฐ€๊ฐ€ ์ƒ๊ฐํ•˜๊ธฐ ์ข€ ๊นŒ๋‹ค๋กญ๋‹ค ๊ตฌํ˜„ํ•ด์•ผํ•  ์š”์†Œ๋Š” ํฌ๊ฒŒ ํŒŒ์ด์–ด๋ณผ์˜ ์ด๋™ / ํŒŒ์ด์–ด๋ณผ์˜ ๋ณ‘ํ•ฉ๊ณผ ๋ถ„์‚ฐ์ด๋‹ค. ๋จผ์ € ํŒŒ์ด์–ด๋ณผ์˜ ์ด๋™์ด๋‹ค. ํŒŒ์ด์–ด์–ด๋ณผ์˜ ์ด๋™์€ ๋ฆฌ์ŠคํŠธ์— ๋‹ด์€ ํŒŒ์ด์–ด๋ณผ์˜ ์ •๋ณด๋ฅผ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์„œ ๋นˆ ๋ฆฌ์ŠคํŠธ๋ฅผ ์›์†Œ๋กœ ๊ฐ€์ง„ N x N ๋ฐฐ์—ด(๋ฆฌ.. 2022. 10. 3.
[๋ฐฑ์ค€] 14621 ๋‚˜๋งŒ ์•ˆ๋˜๋Š” ์—ฐ์•  (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/14621 14621๋ฒˆ: ๋‚˜๋งŒ ์•ˆ๋˜๋Š” ์—ฐ์•  ์ž…๋ ฅ์˜ ์ฒซ์งธ ์ค„์— ํ•™๊ต์˜ ์ˆ˜ N์™€ ํ•™๊ต๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋„๋กœ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. (2 ≤ N ≤ 1,000) (1 ≤ M ≤ 10,000) ๋‘˜์งธ ์ค„์— ๊ฐ ํ•™๊ต๊ฐ€ ๋‚จ์ดˆ ๋Œ€ํ•™๊ต๋ผ๋ฉด M, ์—ฌ์ดˆ ๋Œ€ํ•™๊ต๋ผ๋ฉด W์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ www.acmicpc.net 1. ๊ธฐ๋ณธ์ ์ธ MST ๋ฌธ์ œ์ด๋‹ค. 2. ๋Œ€ํ•™๊ต ๋‚จ์ดˆ/์—ฌ์ดˆ ์—ฌ๋ถ€๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ์ €์žฅํ•ด์„œ ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๋‹ค์Œ ๊ฐ„์„  ์„ ํƒ ์‹œ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๋Œ€ํ•™๊ต์ผ ๊ฒฝ์šฐ๋งŒ ์„ ํƒํ•˜๋„๋ก ํ–ˆ๋‹ค. 3. ๊ทธ ์™ธ์—๋Š” ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” mst๊ฐ€ ์—†์„ ๊ฒฝ์šฐ -1์„ ์ถœ๋ ฅํ•˜๋„๋ก ํ•ด์•ผ๋œ๋‹ค. import sys, os, io, atexit input = lambda: sys.stdin.read.. 2022. 10. 2.
[๋ฐฑ์ค€] 16724 ํ”ผ๋ฆฌ ๋ถ€๋Š” ์‚ฌ๋‚˜์ด (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/16724 16724๋ฒˆ: ํ”ผ๋ฆฌ ๋ถ€๋Š” ์‚ฌ๋‚˜์ด ์ฒซ ๋ฒˆ์งธ ์ค„์— ์ง€๋„์˜ ํ–‰์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” N(1 ≤ N ≤ 1,000)๊ณผ ์ง€๋„์˜ ์—ด์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” M(1 ≤ M ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ์ง€๋„์˜ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธธ์ด๊ฐ€ M์ธ ๋ฌธ์ž์—ด์ด ์ฃผ www.acmicpc.net 0. DFS / BFS (+ ์œ ๋‹ˆ์˜จํŒŒ์ธ๋“œ) ๋ฌธ์ œ์ด๋‹ค. ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ์— ๊ด„ํ˜ธ๋ฅผ ์นœ ์ด์œ ๋Š” ์•„๋ž˜ ์„ค๋ช…ํ•˜๊ฒ ์ง€๋งŒ ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ๋ฅผ ์•ˆ ์“ฐ๊ณ  bfs๋งŒ์œผ๋กœ ํ’€์ด ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. (์•„๋ž˜ ์„ค๋ช…) 1. ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ ํ’€์ด ์ฃผ์–ด์ง„ ๊ทธ๋ž˜ํ”„์—์„œ dfs๋ฅผ ํ†ตํ•ด์„œ ์‚ฌ์ดํด์„ ํ™•์ธํ•˜๊ณ  ํ•ด๋‹น ์‚ฌ์ดํด์„ ํ•˜๋‚˜์˜ safezone ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ด์•ผํ•˜๋Š”๋ฐ ์ด ๊ณผ์ •์—์„œ ์œ ๋‹ˆ์˜จ ํŒŒ.. 2022. 10. 2.