#5557

800 단어 pythonbojboj

#5557

문제

풀이

N=int(input())
l=list(map(int,input().split()))

dp=[[0]*21 for _ in range(N)]
first=l.pop(0)
last=l.pop()
dp[1][first]=1

for i in range(1,N-1):
    x=l.pop(0)
    for j in range(21):
        if(0<=j+x<=20):
            dp[i+1][j+x]+=dp[i][j]
        if(0<=j-x<=20):
            dp[i+1][j-x]+=dp[i][j]
print(dp[N-1][last])

다른 블로그 찾아봤는데 상근이가 더 이상 덧셈과 뺄셈을 좋아하지 않았으면 좋겠다는 글이 너무 공감되었다..
참고1
참고2

좋은 웹페이지 즐겨찾기