본문 바로가기

Problem Solving94

[DP] python 12852 1로 만들기2 https://www.acmicpc.net/problem/12852 12852번: 1로 만들기 2 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 자연수 N이 주어진다. www.acmicpc.net # 2023.01.30 import sys input = sys.stdin.readline n = int(input()) dp=[[0]*(2) for _ in range(n+1)] #연산을 하는 횟수의 최솟값 dp[1][0]=0 # 연산횟수 dp[1][1]=[1] # 연산순서 # n~1 dp table탐색 for i in range(2, n+1): dp[i][0]=dp[i-1][0]+1 # 연산횟수 dp[i][1]=dp[i-1][1]+[i] # 연산순서 if i%3==0 and dp[i//3][0]+1.. 2023. 2. 1.
[DP] python 2193 이친수 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net # 2023.01.29 import sys input = sys.stdin.readline n = int(input()) dp = [[0]*(2) for _ in range(n)] dp[0][0], dp[0][1]= 0, 1 for i in range(1, n): for j in range(2): if j==0: dp[i][j]=dp[i-1][0]+dp[i-1][1] else: dp[i.. 2023. 1. 29.
[DP] python 1890 점프 https://www.acmicpc.net/problem/1890 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net # 2023.01.29 import sys input = sys.stdin.readline n = int(input()) game = [list(map(int, input().split())) for _ in range(n)] dp = [[0]*(n) for _ in range(n)] # 경우의 수 dp[0][0]=1 for i in range(n): for j in range(n): .. 2023. 1. 29.
[DP] python 11048 이동하기 https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net # 2023.01.29 import sys input = sys.stdin.readline n, m = map(int, input().split()) maze = [list(map(int, input().split())) for _ in range(n)] dp = [[0]*(m+1) for _ in range(n+1)] for i in range(1, n+1): for j in ra.. 2023. 1. 29.