728x90

순열로 풀었다. 주어진 N 의 조건이 작아서 시간초과에 걸리지 않았다. 

import sys
from itertools import product
 
def check(k):
 
    answer = 0
 
    num = [1,2,3]
 
    mins = int(k//3)
    maxs = k
 
    for i in range(mins,maxs+1):
 
        temp = list(product(num,repeat=i))
 
        for i in range(0,len(temp)):
            if sum(temp[i]) == k:
                answer+=1
 
    return answer
 
 
 
 
num = int(input())
 
for i in range(num):
 
    k = int(input())
 
    print(check(k))
 
728x90

+ Recent posts