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

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

[๋ฐฑ์ค€]4963๋ฒˆ: ์„ฌ์˜ ๊ฐœ์ˆ˜ https://www.acmicpc.net/problem/4963 4963๋ฒˆ: ์„ฌ์˜ ๊ฐœ์ˆ˜ ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ์ง€๋„์˜ ๋„ˆ๋น„ w์™€ ๋†’์ด h๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. w์™€ h๋Š” 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ h๊ฐœ ์ค„์—๋Š” ์ง€๋„ www.acmicpc.net dfs๋กœ ํ’€์—ˆ๋”๋‹ˆ RecursionError๊ฐ€ ๋‚˜์„œ.. ์ด์œ ๋ฅผ ์ฐพ์•„๋ณด๋‹ˆ๊นŒ BOJ ์ฑ„์  ์„œ๋น„์Šค์—์„œ๋Š” ํŒŒ์ด์ฌ ์ตœ๋Œ€ ์žฌ๊ท€ ๊นŠ์ด๊ฐ€ 1000์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ๊น ํ…Œ์ผ€์ค‘์—์„œ ์žฌ๊ท€๋ฅผ 1000๋ฒˆ ์ด์ƒ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒŒ ์žˆ์—ˆ๋‚˜๋ณด๋‹ค \ํ•ด๊ฒฐ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ ๊ทธ์ค‘์—์„œ ์ ค ์‰ฌ์šด๊ฑฐ ์„ ํƒํ•จ ^v^ import sys sys.setrecursionlimit(10**6) ์ตœ๋Œ€์žฌ๊ท€๊นŠ์ด๋ฅผ ์ž„์˜๋กœ ๊ฒ๋‚˜ ํฐ ์ˆ˜.. 2023. 2. 23.
[์ด์ฝ”ํ…Œ]๋ฏธ๋กœ ํƒˆ์ถœ / [๋ฐฑ์ค€]2178๋ฒˆ: ๋ฏธ๋กœ ํƒ์ƒ‰ https://www.acmicpc.net/problem/2178 2178๋ฒˆ: ๋ฏธ๋กœ ํƒ์ƒ‰ ์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ N, M(2 ≤ N, M ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” M๊ฐœ์˜ ์ •์ˆ˜๋กœ ๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ์ˆ˜๋“ค์€ ๋ถ™์–ด์„œ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net from collections import deque #๋ฏธ๋กœ ์ •๋ณด ์ž…๋ ฅ๋ฐ›๊ธฐ n, m = map(int,input().split()) graph=[] for i in range(n): graph.append(list(map(int,input()))) #์ƒํ•˜์ขŒ์šฐ ์ขŒํ‘œ dx=[-1,1,0,0] dy=[0,0,-1,1] #(0,0) ์‹œ์ž‘์ ์œผ๋กœ bfs ์ˆ˜ํ–‰ q=deque() q.append((0,0)) while q: x,y = q.po.. 2023. 2. 23.
[์ด์ฝ”ํ…Œ] ์Œ๋ฃŒ์ˆ˜ ์–ผ๋ ค ๋จน๊ธฐ ์ถœ์ฒ˜: ์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with ํŒŒ์ด์ฌ(๋‚˜๋™๋นˆ) https://www.youtube.com/watch?v=7C9RgOcvkvo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=3 ๋ฌธ์ œ N * M ํฌ๊ธฐ์˜ ์–ผ์Œ ํ‹€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ๋ฉ์ด ๋šซ๋ ค ์žˆ๋Š” ๋ถ€๋ถ„์€ 0, ์นธ๋ง‰์ด๊ฐ€ ์กด์žฌํ•˜๋Š” ๋ถ€๋ถ„์€ 1๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ตฌ๋ฉ์ด ๋šซ๋ ค ์žˆ๋Š” ๋ถ€๋ถ„๋ผ๋ฆฌ ์ƒ,ํ•˜,์ขŒ,์šฐ๋กœ ๋ถ™์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค. ์–ผ์Œ ํ‹€์˜ ๋ชจ์–‘์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ์ƒ์„ฑ๋˜๋Š” ์ด ์•„์ด์Šคํฌ๋ฆผ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”. ๋ฌธ์ œ ์กฐ๊ฑด ์ž…๋ ฅ ์กฐ๊ฑด: ์ฒซ ๋ฒˆ์งธ ์ค„์— ์–ผ์Œ ํ‹€์˜ ์„ธ๋กœ ๊ธธ์ด N๊ณผ ๊ฐ€๋กœ ๊ธธ์ด M์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. (1 2023. 2. 23.
dfs, bfs ํŒŒ์ด์ฌ ๊ตฌํ˜„ dfs def dfs(graph, v, visited): visited[v]=True print(v, end=' ') for i in graph[v]: if not visited[i]: dfs(graph,i,visited) graph=[ [], #์ธ๋ฑ์Šค 0์€ ๋น„์›Œ๋‘  [2,3,8], #์ฒซ๋ฒˆ์งธ ๋…ธ๋“œ์™€ ์ธ์ ‘ํ•œ ๋…ธ๋“œ ๋ชฉ๋ก [1,7], [1,4,5], [3,5], [3,4], [7], [2,6,8], [1,7] ] visited = [False]*9 dfs(graph,1,visited) bfs from collections import deque def bfs(graph, v, visited): q=deque([v]) #ํ ์ƒ์„ฑ visited[v]=True #๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ while q: #ํ๊ฐ€ ๋น„์–ด์žˆ์ง€ ์•Š์€๋™์•ˆ w .. 2023. 2. 23.
[๋ฐฑ์ค€]2644๋ฒˆ: ์ดŒ์ˆ˜๊ณ„์‚ฐ https://www.acmicpc.net/problem/2644 2644๋ฒˆ: ์ดŒ์ˆ˜๊ณ„์‚ฐ ์‚ฌ๋žŒ๋“ค์€ 1, 2, 3, …, n (1 ≤ n ≤ 100)์˜ ์—ฐ์†๋œ ๋ฒˆํ˜ธ๋กœ ๊ฐ๊ฐ ํ‘œ์‹œ๋œ๋‹ค. ์ž…๋ ฅ ํŒŒ์ผ์˜ ์ฒซ์งธ ์ค„์—๋Š” ์ „์ฒด ์‚ฌ๋žŒ์˜ ์ˆ˜ n์ด ์ฃผ์–ด์ง€๊ณ , ๋‘˜์งธ ์ค„์—๋Š” ์ดŒ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ด์•ผ ํ•˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ์‚ฌ๋žŒ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด www.acmicpc.net #include using namespace std; int n,m; int graph[101][101]; bool visited[101]; int cnt=0; int ans=-1; void dfs(int x,int y){ if(x==y) ans=cnt; visited[x]=1; cnt++; for(int i=0;i>n; int x,y; cin>>x>>y; cin>>m; for.. 2023. 2. 18.
[๋ฐฑ์ค€]2667๋ฒˆ: ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ https://www.acmicpc.net/problem/2667 2667๋ฒˆ: ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ ๊ณผ ๊ฐ™์ด ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ์ง€๋„๊ฐ€ ์žˆ๋‹ค. 1์€ ์ง‘์ด ์žˆ๋Š” ๊ณณ์„, 0์€ ์ง‘์ด ์—†๋Š” ๊ณณ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฒ ์ˆ˜๋Š” ์ด ์ง€๋„๋ฅผ ๊ฐ€์ง€๊ณ  ์—ฐ๊ฒฐ๋œ ์ง‘์˜ ๋ชจ์ž„์ธ ๋‹จ์ง€๋ฅผ ์ •์˜ํ•˜๊ณ , ๋‹จ์ง€์— ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ด๋ ค ํ•œ๋‹ค. ์—ฌ www.acmicpc.net bfs๋กœ ํ’€์—ˆ์Œ ์ฝ”๋“œ๊ฐ€ ์•ฝ๊ฐ„ ์ง€์ €๋ถ„ํ•œ ๋А๋‚Œ์ด๋‹ค,, #include #include #include #include using namespace std; int n; int map[25][25]; //์ง€๋„ bool visited[25][25]; //๋ฐฉ๋ฌธ ์ฒดํฌ queue q; int cnt=0; //๋‹จ์ง€๋ณ„ ์ง‘์˜ ๊ฐœ์ˆ˜ count vector v; //๋‹จ์ง€๋ณ„ ์ง‘์˜ ๊ฐœ์ˆ˜ ์ €์žฅ int bfs(int x, in.. 2023. 2. 15.
728x90