| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
- ์ฝ๋ฉ
 - ์ดํญ๊ณ์
 - ์ฝ๋ฉํ ์คํธ
 - ๋ฐฑ์๋
 - ๋จ์ํ ์คํธ
 - ์ปด๊ณต์
 - boj11653
 - SSE
 - ๋ฆฌ์กํธ๋ค์ดํฐ๋ธ
 - ์คํ๋ง
 - ์ปด๊ณต
 - ์ปดํจํฐ๊ณตํ
 - ์ฐ์ ์์ํ
 - ๋ชจ๋ฐ์ผ์ฑํ๋ก๊ทธ๋๋ฐ
 - ํ๋ก๊ทธ๋๋ฐ
 - ๊ทธ๋ฆฌ๋์๊ณ ๋ฆฌ์ฆ
 - ํ์ด์ฌ
 - ํ๋ก ํธ์ค๋
 - ์น๊ฐ๋ฐ
 - ์๊ณ ๋ฆฌ์ฆ
 - ๊ทธ๋ฆฌ๋
 - ์น๊ฐ๋ฐ๊ธฐ๋ก
 - ChatGPT
 - ์๋ฃ๊ตฌ์กฐ
 - spring
 - ๊ฐ๋ฐ์
 - ๋ฐฑ์ค1436
 - ๋ฐฑ์คํ์ด
 - ๋ฆฌ์กํธ
 - ๋ฐฑ์ค
 
- Today
 
- Total
 
๐ป๐ญ๐ง๐
BOJ 1926 : ๊ทธ๋ฆผ (Python) ๋ณธ๋ฌธ
๋ฌธ์ 
https://www.acmicpc.net/problem/1926
1926๋ฒ: ๊ทธ๋ฆผ
์ด๋ค ํฐ ๋ํ์ง์ ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ ธ ์์ ๋, ๊ทธ ๊ทธ๋ฆผ์ ๊ฐ์์, ๊ทธ ๊ทธ๋ฆผ ์ค ๋์ด๊ฐ ๊ฐ์ฅ ๋์ ๊ฒ์ ๋์ด๋ฅผ ์ถ๋ ฅํ์ฌ๋ผ. ๋จ, ๊ทธ๋ฆผ์ด๋ผ๋ ๊ฒ์ 1๋ก ์ฐ๊ฒฐ๋ ๊ฒ์ ํ ๊ทธ๋ฆผ์ด๋ผ๊ณ ์ ์ํ์. ๊ฐ๋ก๋ ์ธ๋ก
www.acmicpc.net
์ฝ๋
import sys
sys.setrecursionlimit(10**7)
def dfs(x,y):
    global temp
    if x<=-1 or x>=n or y<=-1 or y>=m:
        return False
    if graph[x][y] == 1:
        graph[x][y] = 0
        dfs(x-1,y)
        dfs(x,y-1)
        dfs(x+1,y)
        dfs(x,y+1)
        temp += 1
        return True
    return False
n,m = map(int, input().split())
graph = []
for i in range(n):
    graph.append(list(map(int, input().split())))
result = 0    
maximum = 0
for i in range(n):
    for j in range(m):
        temp = 0
        if dfs(i, j) == True:
            result += 1
            if maximum < temp:
                maximum = temp
print(result)
print(maximum)
ํ์ด
์ด์ฝํ  ๊ฐ์์์ ๋์จ ๋ฌธ์ ์ ์ ์ฌํด์ ๊ทธ ์ฝ๋์์ ์ข๋ง ๋ ์ถ๊ฐํด์ ๋ฌธ์ ๋ฅผ ํ์๋ค... ๋ค์ ๊ธฐ์ตํด๋ด์ ํผ์ํด๋ณด๋ ค๋๊น ๊ธฐ์ต์ด ์๋๋๋ผ.. ๋ณต์ตํด์ผํ๋๋ฐ...
1์ด ๋ถ์ด์๋ ๊ฒ๋ค์ด ๊ทธ๋ฆผ์ ํด๋นํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํ ์์๋ฅผ ๊ธฐ์ ์ผ๋ก ์ํ์ข์ฐ์ 1์ด ์์ผ๋ฉด ๊ทธ๋ฆผ์ผ๋ก ์ทจ๊ธํ๋ฉด ๋๋ค. ์ด๋ ๊ฒ DFS๋ฅผ ์ด์ฉํด์ ๋ชจ๋ ์์๋ฅผ ํ์ธํด๋ณธ๋ค.
dfs ๋ฉ์๋๊ฐ True๋ฅผ ๋ฆฌํดํ๋ฉด(graph[i][j]๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฃผ๋ณ์ ๊ทธ๋ฆผ ์ฌ๋ถ ํ์์ด ๋๋๋ฉด) result ๋ผ๋ ๋ณ์์๋ 1์ ๋ํด์ ๊ทธ๋ฆผ์ ์ด ๊ฐ์๋ฅผ ์ธก์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ dfs ํ์์ด ํ๋ฒ ๋๋ ๋๋ง๋ค temp ๋ผ๋ ๋ณ์์ 1์ ๋ํด์ ๊ทธ๋ฆผ์ ํฌ๊ธฐ๋ฅผ ์ธก์ ํ๋ค.
maximum ๋ณ์๊ฐ temp๋ณด๋ค ์์ผ๋ฉด maximum์ temp ๊ฐ์ ๋์ ํด์ ๊ฐ์ฅ ํฐ ๊ทธ๋ฆผ์ ํฌ๊ธฐ๋ฅผ ์ ์ฅํ ์ ์๋๋ก ํ๋ค.
์ฒ์์ ๋ฐฑ์ค์์ Recursive error๊ฐ ๋ฌ์๋๋ฐ ํ์ด์ฌ์ ์ฌ๊ท ํ๋๋ฅผ ๋์ด์์ ์๊ธด ์ค๋ฅ๋ผ๊ณ ํ๋ค. ๊ตฌ๊ธ๋ง์ ํด๋ณด๋
sys.setrecursionlimit(10**7)
์์ ๊ฐ์ด ์ฌ๊ท ํ๋๋ฅผ ๋๋ ค์ฃผ๋ฉด ๋๋ค๊ณ ํ๋ค. ๋ญ๊ฐ ์ต์ง๋ก ์ฝ๋๊ฐ ๋์๊ฐ๋๋ก ๋ง๋ ๋๋์ด๋ ... ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์๊ฐ์ด ์๋๋ค.
'์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| BOJ11653: ์์ธ์๋ถํด (Python) (0) | 2023.09.03 | 
|---|---|
| BOJ 2178: ๋ฏธ๋ก ํ์ (Python) (1) | 2023.03.14 | 
| BOJ 10775 : ๊ณตํญ (Python) (0) | 2023.02.28 | 
| BOJ 1781 : ์ปต๋ผ๋ฉด (Python) (0) | 2023.02.28 | 
| BOJ 2437 : ์ ์ธ (Python) (2) | 2023.02.28 |