일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- MySQL
- react
- 백준
- 백준 2512번
- javascript
- SQL
- Python
- 다이나믹 프로그래밍
- ubuntu
- 다이나믹프로그래밍
- 모각코
- 그리디
- 백준 17451번
- 백준 15787번
- 백준 16918번
- SWEA 15612번
- AWS
- 명품자바
- 깃헙
- 백준 1253번
- 백준 1331번
- 알고리즘
- 백준 1987
- HUFS 모각코 캠프
- java_programming
- 머신러닝과 딥러닝
- 백준 3085번
- 백준 18310번
- 자바
- 그래프
Archives
- Today
- Total
차곡차곡
[codetree/python] 코드트리 - 강력한 폭발 본문
코드트리 백트래킹 연습 - 강력한 폭발
import sys
sys.setrecursionlimit(10 ** 6)
def cnt_bomb():
loc = []
for i in range(bomb_cnt):
if bomb[i] == 1:
y = bomb_loc[i][1]
for x in range(-2, 3):
if 0 <= bomb_loc[i][0] + x < n:
if (bomb_loc[i][0] + x, y) not in loc:
loc.append((bomb_loc[i][0] + x, y))
elif bomb[i] == 2:
for dx, dy in (0, 0), (0, 1), (0, -1), (1, 0), (-1, 0):
if 0 <= bomb_loc[i][0] + dx < n and 0 <= bomb_loc[i][1] + dy < n:
if (bomb_loc[i][0] + dx, bomb_loc[i][1] + dy) not in loc:
loc.append((bomb_loc[i][0] + dx, bomb_loc[i][1] + dy))
else:
for dx, dy in (0, 0), (1, 1), (1, -1), (-1, -1), (-1, 1):
if 0 <= bomb_loc[i][0] + dx < n and 0 <= bomb_loc[i][1] + dy < n:
if (bomb_loc[i][0] + dx, bomb_loc[i][1] + dy) not in loc:
loc.append((bomb_loc[i][0] + dx, bomb_loc[i][1] + dy))
return len(loc)
def is_most(now, most_bomb):
if now == bomb_cnt:
cnt = cnt_bomb()
if most_bomb < cnt:
most_bomb = cnt
return most_bomb
for i in range(1, 4):
bomb.append(i)
most_bomb = is_most(now + 1, most_bomb)
bomb.pop()
return most_bomb
n = int(input())
grid = [list(map(int, input().split())) for _ in range(n)]
bomb_cnt = 0
bomb_loc = []
bomb = []
# 폭탄의 위치 및 개수 계산
for i in range(n):
for j in range(n):
if grid[i][j] == 1:
bomb_cnt += 1
bomb_loc.append((i, j))
print(is_most(0, 0))
'CS > Algorithm' 카테고리의 다른 글
[codetree/python] 코드트리 - 특정 조건에 맞게 k개 중에 1개를 n번 뽑기 (0) | 2023.05.17 |
---|---|
[codetree/python] 코드트리 - 겹치지 않게 선분 고르기 (1) | 2023.05.16 |
[codetree/python] 코드트리 - 아름다운 수 (0) | 2023.05.14 |
[codetree/python] 코드트리 - k개 중에 1개를 n번 뽑기 (0) | 2023.05.14 |
[BOJ/Python, Javascript] 백준 5073번 - 삼각형과 세 변 (0) | 2023.05.13 |
Comments