cgy12306
[백준 BoJ] 16918 - 봄버맨 본문
# https://www.acmicpc.net/problem/16918
# 봄버맨
import copy
def print_map():
for i in range(n):
for j in range(m):
if TimeMap[i][j] == 0:
print('.', end='')
else:
print('O', end='')
print()
def set_bomb():
for i in range(n):
for j in range(m):
if Map[i][j] == '.':
TimeMap[i][j] = 0
else:
TimeMap[i][j] = 2
def flow_time():
for i in range(n):
for j in range(m):
if TimeMap[i][j] == 0:
TimeMap[i][j] = 3
else:
TimeMap[i][j] -= 1
def explode_bomb(TimeMap):
tmpMap = copy.deepcopy(TimeMap)
for i in range(n):
for j in range(m):
if TimeMap[i][j] == 0:
for dir in direction:
nx = i + dir[0]
ny = j + dir[1]
if nx < 0 or nx >= n or ny < 0 or ny >= m:
continue
tmpMap[nx][ny] = 0
return tmpMap
n, m, c = map(int, input().split())
Map = [input() for _ in range(n)]
TimeMap = [[0]*m for _ in range(n)]
dx = [-1 ,1 ,0, 0, 0]
dy = [0, 0, -1, 1, 0]
direction = [(1, 0), (-1, 0), (0, 1), (0, -1), (0, 0)]
set_bomb()
for _ in range(c-1):
flow_time()
TimeMap = explode_bomb(TimeMap)
print_map()
'Algorithm > Python' 카테고리의 다른 글
[백준 BoJ] 1094 - 막대기 (0) | 2021.10.14 |
---|---|
[백준 BoJ] 9935 - 문자열폭발 (0) | 2021.09.18 |
[백준 BoJ] 13277 - 큰 수 곱셉 (0) | 2021.03.25 |
Comments