일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- java #자바 #동빈나
- java #자바 #나동빈
- css #웹 #생활코딩
- Dijkstra
- 백트랙킹
- dp
- BFS
- 파이썬 #백준 #알고리즘 #코딩테스트
- 자바 #java
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- 백준 #파이썬 #알고리즘 #코딩테스트
- 재귀
- java #자바
- 코딩테스트
- 다익스트라
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
- 알고리즘
- PYTHON
- react #리액트 #동빈나
- 프로그래머스
- css #생활코딩 #웹
- 백준 #알고리즘 #파이썬 #코딩테스트
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
- java #자바 #생활코딩
- DFS
- 백준
- 다이나믹프로그래밍
- 투포인터
- react #리액트 #동빈나 #나동빈 #유튜브강의
- 파이썬
Archives
- Today
- Total
커리까지
[백준] 18290번 NM과 K (1) 파이썬 본문
728x90
SMALL
문제
크기가 N×M인 격자판의 각 칸에 정수가 하나씩 들어있다. 이 격자판에서 칸 K개를 선택할 것이고, 선택한 칸에 들어있는 수를 모두 더한 값의 최댓값을 구하려고 한다. 단, 선택한 두 칸이 인접하면 안된다. r행 c열에 있는 칸을 (r, c)라고 했을 때, (r-1, c), (r+1, c), (r, c-1), (r, c+1)에 있는 칸이 인접한 칸이다.
입력
첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 N개의 줄에 격자판에 들어있는 수가 주어진다.
출력
선택한 칸에 들어있는 수를 모두 더한 값의 최댓값을 출력한다.
제한
- 1 ≤ N, M ≤ 10
- 1 ≤ K ≤ min(4, N×M)
- 격자판에 들어있는 수는 -10,000보다 크거나 같고, 10,000보다 작거나 같은 정수이다.
- 항상 K개의 칸을 선택할 수 있는 경우만 입력으로 주어진다.
예제 입력 1
1 1 1
1
예제 출력 1
1
참고 답안
import sys
input = sys.stdin.readline
dy = [0, 1, 0, -1]
dx = [1, 0, -1, 0]
n, m, k = map(int, input().split())
answer = -sys.maxsize
graph = [list(map(int, input().split())) for _ in range(n)]
visited = [[False] * m for _ in range(n)]
def dfs(y, x, cnt, _sum):
global answer
if cnt == k:
answer = max(answer, _sum)
return
for i in range(y, n):
for j in range(x if i == y else 0, m):
if visited[i][j]:
continue
for z in range(4):
ny = i + dy[z]
nx = j + dx[z]
if 0 <= ny < n and 0 <= nx < m and visited[ny][nx]:
break
else:
visited[i][j] = True
dfs(i, j, cnt + 1, _sum + graph[i][j])
visited[i][j] = False
dfs(0, 0, 0, 0)
print(answer)
728x90
LIST
'알고리즘 > 풀이' 카테고리의 다른 글
[백준] 11729번 하노이 탑 이동 순서 (0) | 2023.08.25 |
---|---|
[백준] 16943번 숫자 재배치 파이썬 (0) | 2023.08.21 |
[백준] 12101번 1,2,3 더하기 2 파이썬 (0) | 2023.08.19 |
1342번 행운의 문자열 파이썬 (0) | 2023.08.18 |
[백준] 17391번 무한부스터 파이썬 (0) | 2023.08.11 |
Comments