728x90

엄청 어렵지는 않았다. 시간 초과 때문에 pypy3 로 풀었다. 마지막 값을 보고 크기에 따라, dp[1] 만 증가시킬지, dp[0] 도 증가시킬지 결정해주는 과정을 넣어준다면 파이썬으로도 쉽게 풀린다고 한다.

 

import sys
import math
 
def check(first, second, k, compare):
 
 
 
    k[0] = first
    k[1] = second
 
    for i in range(2,len(k)):
        k[i] = (k[i-1]+k[i-2])
 
        if k[i]>compare:
            return False
 
    if k[-1] == compare:
 
        return True
 
    return False
 
a, b = map(int,input().split(" "))
 
 
# 각 일자별로 준 떡 리스트
k = [0] * a
 
k[a-1] = b
 
 
count = 0
answer = [ ]
# 첫날에 준 떡
 
for i in range(1,100001):
    if len(answer)==2:
        break
 
    # 둘째날 준 
 
    for j in range(i,1000001):
        if len(answer)==2:
            break
 
 
        if check(i,j,k,b)== True:
            answer.append(i)
            answer.append(j)
            break
 
 
for i in answer:
    print(i)
 
 
 
 
 
 
 
 
 
 
 
 
728x90

+ Recent posts