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

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด/DFS,BFS24

[๋ฐฑ์ค€]7569๋ฒˆ: ํ† ๋งˆํ†  https://www.acmicpc.net/problem/7569 7569๋ฒˆ: ํ† ๋งˆํ†  ์ฒซ ์ค„์—๋Š” ์ƒ์ž์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ์ •์ˆ˜ M,N๊ณผ ์Œ“์•„์˜ฌ๋ ค์ง€๋Š” ์ƒ์ž์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” H๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. M์€ ์ƒ์ž์˜ ๊ฐ€๋กœ ์นธ์˜ ์ˆ˜, N์€ ์ƒ์ž์˜ ์„ธ๋กœ ์นธ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋‹จ, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 7576 ํ† ๋งˆํ† ๋ž‘ ๊ฐ™์€ ๋ฌธ์ œ๋ผ์„œ ์–ด๋ ต์ง€ ์•Š๊ฒŒ ๋ฌธ์ œ๋ฅผ ๋งž์ถ”๊ธด ํ–ˆ๋‹ค. ๋‹ค๋งŒ ๋‚ด๊ฐ€ ๋ฆฌ์ŠคํŠธ์— ํ† ๋งˆํ†  ์ขŒํ‘œ์ •๋ณด๋ฅผ x,y,z ์ˆœ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ z,x,y ์ˆœ์„œ๋กœ ์ €์žฅํ•ด์„œ ์•ฝ๊ฐ„ ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ์žˆ๊ณ , ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์ด ์‚ด์ง ์ •์‹ ์‚ฌ๋‚˜์šด ๋А๋‚Œ import sys from collections import deque input = sys.stdin.readline #nํ–‰ m์—ด, ๋†’์ด๊ฐ€ h m, n, h .. 2023. 2. 28.
[๋ฐฑ์ค€]9205๋ฒˆ: ๋งฅ์ฃผ ๋งˆ์‹œ๋ฉด์„œ ๊ฑธ์–ด๊ฐ€๊ธฐ https://www.acmicpc.net/problem/9205 50m๋‹น ๋งฅ์ฃผ 1๋ณ‘์ด ์†Œ์ง„๋œ๋‹ค๋Š” ๋ง์€, ํ•œ ๋ฒˆ์— ์ตœ๋Œ€ 1000m๊นŒ์ง€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค. ์ด๋™ ๊ฒฝ๋กœ: ์ง‘ (-> ํŽธ์˜์ 1 -> ํŽธ์˜์ 2 -> .... -> ํŽธ์˜์ n) -> ํŽ˜์Šคํ‹ฐ๋ฒŒ ๊ฐ๊ฐ์˜ ์ด๋™ ๊ฑฐ๋ฆฌ๊ฐ€ 1000๋ณด๋‹ค ํฌ์ง€ ์•Š์€ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋„๋‹ฌํ•˜๊ฒŒ ๋˜๋ฉด happy๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค. import sys from collections import deque input = sys.stdin.readline def dist(x1, y1, x2, y2): return abs(x1-x2) + abs(y1-y2) def bfs(x,y): q = deque() q.append((x,y)) visited=[] #๋ฐฉ๋ฌธํ•œ ํŽธ์˜์  ์ขŒํ‘œ.. 2023. 2. 27.
[๋ฐฑ์ค€]11724๋ฒˆ: ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ https://www.acmicpc.net/problem/11724 11724๋ฒˆ: ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N๊ณผ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฐ„์„ ์˜ ์–‘ ๋์  u์™€ v๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ u, v ≤ N, u ≠ v) ๊ฐ™์€ ๊ฐ„์„ ์€ ํ•œ ๋ฒˆ๋งŒ ์ฃผ www.acmicpc.net ๋‘˜ ๋‹ค ํ•ด๋ณด๋‹ˆ bfs๊ฐ€ ์ข€ ๋” ๋นจ๋ž๋‹ค 1. ๋ฐฑ์ค€์—์„œ๋Š” dfsํ•˜๋ฉด ์ž๊พธ RecursionError๊ฐ€ ๋‚œ๋‹ค -์ตœ๋Œ€ ์žฌ๊ท€ ๊นŠ์ด ์„ค์ •๊ฐ’์„ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋˜๊ธด ํ•˜๋Š”๋ฐ ์ด๊ฒŒ ๋งค๋ฒˆ ํ•ด์ฃผ๊ธฐ ์ข€ ๊ท€์ฐฎ๋‹ค 2. ๊ทธ๋ž˜ํ”„ ์š”์†Œ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ input()์œผ๋กœ ๋ฐ›์œผ๋‹ˆ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚ฌ๋‹ค. -sys.stdin.readline()์œผ๋กœ ๋ฐ›์œผ๋ฉด ํ•ด๊ฒฐ๋จ from collectio.. 2023. 2. 26.
[๋ฐฑ์ค€]7576๋ฒˆ: ํ† ๋งˆํ†  https://www.acmicpc.net/problem/7576 7576๋ฒˆ: ํ† ๋งˆํ†  ์ฒซ ์ค„์—๋Š” ์ƒ์ž์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ์ •์ˆ˜ M,N์ด ์ฃผ์–ด์ง„๋‹ค. M์€ ์ƒ์ž์˜ ๊ฐ€๋กœ ์นธ์˜ ์ˆ˜, N์€ ์ƒ์ž์˜ ์„ธ๋กœ ์นธ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋‹จ, 2 ≤ M,N ≤ 1,000 ์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ๋Š” ํ•˜๋‚˜์˜ ์ƒ์ž์— ์ €์žฅ๋œ ํ† ๋งˆํ†  www.acmicpc.net ํ•˜๋‹ค๊ฐ€ ์ž˜ ์•ˆ ๋ผ์„œ ๋‹ค๋ฅธ ๋ถ„๋“ค ์ฝ”๋“œ ์ฐธ๊ณ ํ•ด์„œ ์ˆ˜์ •ํ–ˆ๋‹ค.. ๋‚˜๋Š” ์–ธ์ œ์ฏค ํ˜ผ์ž์„œ ๋น ๋ฅด๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„๊นŒ?ใ… ใ…กใ… ใ…œ ์•„์ด๋””์–ด ์ฒ˜์Œ๋ถ€ํ„ฐ ์ต์–ด ์žˆ๋Š” ํ† ๋งˆํ†  ์ขŒํ‘œ๋ฅผ ํ์— ์ €์žฅํ•˜๊ณ  bfs๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค ์ธ์ ‘ํ•œ ์นธ ์ค‘์—์„œ ์•„์ง ์•ˆ ์ต์€ ํ† ๋งˆํ† ๊ฐ€ ์žˆ์œผ๋ฉด (์ธ์ ‘ํ•œ ์ขŒํ‘œ์˜ ๊ทธ๋ž˜ํ”„ ๊ฐ’)์„ (ํ˜„์žฌ๊ทธ๋ž˜ํ”„๊ฐ’+1) ๋กœ ๋ฐ”๊พธ์–ด์ค€๋‹ค bfs๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์—ฌ์ „ํžˆ ์•ˆ ์ต์€ ํ† ๋งˆํ† ๊ฐ€ ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์ต์ง€ ์•Š์€ .. 2023. 2. 25.
[๋ฐฑ์ค€]2468๋ฒˆ: ์•ˆ์ „ ์˜์—ญ https://www.acmicpc.net/problem/2468 2468๋ฒˆ: ์•ˆ์ „ ์˜์—ญ ์žฌ๋‚œ๋ฐฉ์žฌ์ฒญ์—์„œ๋Š” ๋งŽ์€ ๋น„๊ฐ€ ๋‚ด๋ฆฌ๋Š” ์žฅ๋งˆ์ฒ ์— ๋Œ€๋น„ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ์„ ๊ณ„ํšํ•˜๊ณ  ์žˆ๋‹ค. ๋จผ์ € ์–ด๋–ค ์ง€์—ญ์˜ ๋†’์ด ์ •๋ณด๋ฅผ ํŒŒ์•…ํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ์— ๊ทธ ์ง€์—ญ์— ๋งŽ์€ ๋น„๊ฐ€ ๋‚ด๋ ธ์„ ๋•Œ ๋ฌผ์— ์ž ๊ธฐ์ง€ ์•Š๋Š” www.acmicpc.net ํ’€์ด ๋ฐฉ๋ฒ•: BFS ๋น„๋Š” ๋†’์ด 0๋ถ€ํ„ฐ ๊ทธ ์ง€์—ญ์˜ ์ตœ๊ณ  ๋†’์ด๊นŒ์ง€ ์ž ๊ธฐ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. 0๋ถ€ํ„ฐ ์ตœ๊ณ ๋†’์ด๊นŒ์ง€ ๋‚ด๋ ธ์„ ๋•Œ์˜ ์•ˆ์ „ ์˜์—ญ ๊ฐœ์ˆ˜๋ฅผ ๊ฐ๊ฐ ๊ตฌํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ์— ๋‹ด์€ ํ›„, ๋ฆฌ์ŠคํŠธ์˜ ์ตœ๋Œ“๊ฐ’์„ ์ถœ๋ ฅํ–ˆ๋‹ค. 0๋ถ€ํ„ฐ ์ตœ๊ณ  ๋†’์ด๊นŒ์ง€ ์•ˆ์ „ ์˜์—ญ ๊ฐœ์ˆ˜ ๋ชจ๋‘ ๊ตฌํ•˜๊ธฐ maxH=max(map(max, graph)) #์ž…๋ ฅ๋ฐ›์€ ์ง€์—ญ์˜ ์ตœ๋Œ€ ๋†’์ด result=[] for rain in range(maxH): visited = [[0.. 2023. 2. 25.
[๋ฐฑ์ค€]10026๋ฒˆ: ์ ๋ก์ƒ‰์•ฝ https://www.acmicpc.net/problem/10026 10026๋ฒˆ: ์ ๋ก์ƒ‰์•ฝ ์ ๋ก์ƒ‰์•ฝ์€ ๋นจ๊ฐ„์ƒ‰๊ณผ ์ดˆ๋ก์ƒ‰์˜ ์ฐจ์ด๋ฅผ ๊ฑฐ์˜ ๋А๋ผ์ง€ ๋ชปํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ์ ๋ก์ƒ‰์•ฝ์ธ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๊ทธ๋ฆผ์€ ์•„๋‹Œ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๊ทธ๋ฆผ๊ณผ๋Š” ์ข€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ํฌ๊ธฐ๊ฐ€ N×N์ธ ๊ทธ๋ฆฌ๋“œ์˜ ๊ฐ ์นธ์— R(๋นจ๊ฐ•), G(์ดˆ๋ก) www.acmicpc.net 1. ์ผ๋ฐ˜์ธ ๊ธฐ์ค€์œผ๋กœ bfs์ซ™ ๋Œ๋ ค์„œ ๊ตฌ์—ญ์ด ๋ช‡ ๊ฐœ์ธ์ง€ ๊ณ„์‚ฐํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค. 2. ์ ๋ก์ƒ‰์•ฝ ๊ธฐ์ค€์œผ๋กœ bfs๋ฅผ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด ๊ทธ๋ž˜ํ”„๋ฅผ ์‚ด์ง ๋ณ€๊ฒฝํ•ด์คฌ๋‹ค. -๊ทธ๋ž˜ํ”„ ๋ชจ๋“  ์š”์†Œ๋“ค์„ ๋น„๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ -๋ชจ๋“  G๋ฅผ R๋กœ ๋ฐ”๊ฟ”์คฌ๋‹ค (์ ๋ก์ƒ‰์•ฝ์€ G์™€ R์„ ๊ตฌ๋ณ„ ๋ชปํ•˜๋‹ˆ ํ•˜๋‚˜๋กœ ํ†ต์ผ์‹œํ‚ด) 3. ์ ๋ก์ƒ‰์•ฝ ๊ธฐ์ค€์œผ๋กœ bfs ํ•œ ๋ฒˆ ๋” ๋Œ๋ ค์„œ ๊ฒฐ๊ณผ ์ถœ๋ ฅ BFS๋กœ ์—ฐ๊ฒฐ์š”์†Œ ๊ฐœ์ˆ˜ ๊ตฌํ•œ ๋ฐฉ์‹ -์ตœ์ดˆ๋ฐฉ๋ฌธ์‹œ์— bfs๋กœ ์ธ.. 2023. 2. 24.
728x90