冷たい飲み物
5825 ワード
質問する
方法
すべてのブロックをチェックし、0の場合は再帰関数を上下左右4方向に1に回転させます.
このように処理すると,結果値は1つずつ向上する.
境界座標がない場合は、すでに1の場合はすぐに戻ります.
プールコード
input_data = list(map(int, input().split()))
row = input_data[0]
column = input_data[1]
graph = []
result = 0
for i in range(row):
graph.append(list(map(int, input())))
def dfs(x, y):
if x < 0 or x > row - 1 or y < 0 or y > column - 1:
return False
if graph[x][y] == 1:
return False
graph[x][y] = 1
dfs(x + 1, y)
dfs(x - 1, y)
dfs(x, y + 1)
dfs(x, y - 1)
return True
for i in range(row):
for j in range(column):
if dfs(i, j) == True:
result += 1
print(result)
Reference
この問題について(冷たい飲み物), 我々は、より多くの情報をここで見つけました https://velog.io/@seongkyun/음료수-얼려-먹기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol