1N = int(input()) 2L = [list(map(int, input().split())) for _ in range(N)] 3dp1 = [L[0][i] for i in range(3)] 4dp2 = [L[0][i] for i in range(3)] 5 6for i in range(1, N): 7tmp1 = [0]*3 8tmp2 = [0]*3 9for j in range(3): 10 11 if j == 0: 12 tmp1[0] = L[i][j] + max(dp1[0], dp1[1]) 13 tmp2[0] = L[i][j] + min(dp2[0], dp2[1]) 14 elif j == 1: 15 tmp1[1] = L[i][j] + max(dp1[0], dp1[1], dp1[2]) 16 tmp2[1] = L[i][j] + min(dp2[0], dp2[1], dp2[2]) 17 else: 18 tmp1[2] = L[i][j] + max(dp1[1], dp1[2]) 19 tmp2[2] = L[i][j] + min(dp2[1], dp2[2]) 20 dp1 = [i for i in tmp1] 21 dp2 = [i for i in tmp2] 22 23print (max(dp1), min(dp2)) Memoization๊ณผ์ ์ด ๋ค๋ฅธ memoization ๋ณ์์ ๋ํด ์ข
์์ ์ด๋ผ๋ฉด ์๋ชป๋ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ๋ค ์ ์ฝ๋์์๋ ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด tmp1, tmp2 ๋ณ์๋ฅผ ์ฌ์ฉํ๋ค ๊น์ด ์๊ฐํ์ง ์๊ณ ์ฌ๋ฌ ๋ฒ ์ ์ถํด์ WA๊ฐ์๊ฐ ์กฐ๊ธ ๋ง๋ค;;
1N = int(input()) 2 3L = [list(map(int, input().split())) for _ in range(N)] 4result = 0 5 6def dfs(x, y, direc): 7 global result 8 if x == N-1 and y == N-1: 9 result += 1 10 return 11 12 if x+1 < N and y+1 < N and L[y+1][x] == 0 and L[y][x+1] == 0 and L[y+1][x+1] == 0: 13 dfs(x+1, y+1, 2) 14 15 if (direc == 0 or direc == 2) and x+1 < N and L[y][x+1] == 0: 16 dfs(x+1, y, 0) 17 18 if (direc == 1 or direc == 2) and y+1 < N and L[y+1][x] == 0: 19 dfs(x, y+1, 1) 20 21dfs(1, 0, 0) 22print(result) ๋ณ๊ฑฐ ์๋๊ฒ.
1N, M = map(int, input().split()) 2 3L = [list(map(int, input())) for _ in range(N)] 4 5dp = [[0]*(M+1) for _ in range(N+1)] 6 7result = 0 8 9for i in range(1, N+1): 10 for j in range(1, M+1): 11 dp[i][j] = L[i-1][j-1] 12 13 if L[i-1][j-1]: 14 dp[i][j] = min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1])+1 15 result = max(result, dp[i][j]) 16 17for i in dp: 18 print (i) 19print (result**2) ์กฐ๊ธ ์๊ฐ์ด ๊ฑธ๋ ธ์ง๋ง ํผ์ ํ์ผ๋ก ํ์๋ค ์ ํ์์ dp[i][j] = min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1])+1์ด๋ค.
1D, K = map(int, input().split()) 2L = [(1, 0), (0, 1)] 3 4for i in range(2, D): 5 L.append((L[i-2][0]+L[i-1][0], L[i-2][1]+L[i-1][1])) 6 7A = 1 8B = 2 9 10while True: 11 if A*L[D-1][0] + B*L[D-1][1] == K: 12 break 13 14 if A+1 == B: 15 B += 1 16 A = 1 17 else: 18 A += 1 19 20print (A,'\n',B, sep='') ํด๊ฒฐ๋ฐฉ๋ฒ N๋ฒ์งธ๋ ๋ก ๊ฐ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด ์ฒซ์งธ๋ ๋ก, ๋์งธ๋ ๋ก์ ๊ฐ๊ฐ ๋ช๋ฒ ๋ํด์ผํ๋์ง ๋ฆฌ์คํธ์ ๊ตฌํ๋ค ์ฒซ์งธ, ๋์งธ ๋ ๋ก์ ํ๋ํ๋ ๋ฃ์ด๋ณด๋ฉด์ ๋ธ๋ฃจํธ ํฌ์ค๋ฅผ ์ํํ๋ค