https://www.acmicpc.net/problem/17265
17265번: 나의 인생에는 수학과 함께
세현이의 인생의 목표는 1분 1초 모든 순간 수학과 함께 살아가는 것이다. 그렇기 때문에 매일 수학을 생각하면서 살아가고 있다. 세현이는 밥을 먹을 때도 쌀알의 수를 계산하여 칼로리를 바로
www.acmicpc.net
DFS 탐색을 이용해 간단히 해결
import sys
ap = -sys.maxsize
an = sys.maxsize
def DFS(y,x,p):
global ap, an
if y == n-1 and x == n-1:
ap = max(ap,p)
an = min(an,p)
return
for i in range(2):
yy, xx = y + dy[i], x + dx[i]
if yy == n or xx == n:
continue
if arr[y][x] == '*':
DFS(yy,xx,p*arr[yy][xx])
elif arr[y][x] == '+':
DFS(yy,xx,p+arr[yy][xx])
elif arr[y][x] == '-':
DFS(yy,xx,p-arr[yy][xx])
else:
DFS(yy,xx,p)
n = int(input())
arr = [list(map(str,input().split())) for _ in range(n)]
dy = [0, 1]
dx = [1, 0]
for i in range(n):
for j in range(n):
if (i+j)%2 == 0:
arr[i][j] = int(arr[i][j])
DFS(0,0,arr[0][0])
print(ap,an)
'백준(BOJ)' 카테고리의 다른 글
[Python/파이썬] - 백준(BOJ) 25046번 : 사각형 게임 (small) (0) | 2022.05.19 |
---|---|
[Python/파이썬] - 백준(BOJ) 25047번 : 사각형 게임 (Large) (0) | 2022.05.19 |
[Python/파이썬] - 백준(BOJ) 17192번 : 바둑이 포커 (0) | 2022.05.16 |
[Java/자바] - 백준(BOJ) 16938번 : 캠프 준비 (0) | 2022.05.12 |
[Python/파이썬] - 백준(BOJ) 13904번 : 과제 (0) | 2022.05.11 |