์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๋จ์ํ ์คํธ
- ์ปดํจํฐ๊ณตํ
- ๋ฐฑ์คํ์ด
- ์ปด๊ณต์
- ์๊ณ ๋ฆฌ์ฆ
- SSE
- ์ฐ์ ์์ํ
- ์ปด๊ณต
- ์คํ๋ง
- ๋ชจ๋ฐ์ผ์ฑํ๋ก๊ทธ๋๋ฐ
- ์น๊ฐ๋ฐ๊ธฐ๋ก
- boj11653
- ์น๊ฐ๋ฐ
- ์ดํญ๊ณ์
- ํ๋ก ํธ์ค๋
- ์๋ฃ๊ตฌ์กฐ
- spring
- ํ์ด์ฌ
- ๊ทธ๋ฆฌ๋
- ์ฝ๋ฉํ ์คํธ
- ๊ฐ๋ฐ์
- ๋ฆฌ์กํธ
- ๋ฐฑ์ค
- ๋ฐฑ์ค1436
- ๋ฐฑ์๋
- ํ๋ก๊ทธ๋๋ฐ
- ChatGPT
- ๋ฆฌ์กํธ๋ค์ดํฐ๋ธ
- ์ฝ๋ฉ
- ๊ทธ๋ฆฌ๋์๊ณ ๋ฆฌ์ฆ
- 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 |