-
2629번: 양팔저울
첫째 줄에는 추의 개수가 자연수로 주어진다. 추의 개수는 30 이하이다. 둘째 줄에는 추의 무게들이 자연수로 가벼운 것부터 차례로 주어진다. 같은 무게의 추가 여러 개 있을 수도 있다. 추의 무
www.acmicpc.net
코드
n = int(input("")) n_list = list(map(int, input().split())) m = int(input("")) m_list = list(map(int, input().split())) possible = [] answer = [[0]*15001 for i in range(n+1)] def solution(n_list, n, now, left, right, possible): new = abs(left-right) if new not in possible: possible.append(new) if now == n: return 0 if answer[now][new] == 0: solution(n_list, n, now+1, left+n_list[now], right, possible) solution(n_list, n, now+1, left, right+n_list[now], possible) solution(n_list, n, now+1, left, right, possible) answer[now][new] = 1 solution(n_list, n, 0, 0, 0, possible) for i in range(m): if m_list[i] in possible: print("Y", end=" ") else: print("N", end=" ")
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 7579번 앱 (파이썬) (0) 2022.01.04 [백준] 2293번 동전 1 (파이썬) (0) 2022.01.04 [백준] 10942번 팰린드롬? (파이썬) (0) 2022.01.04 [백준] 1520번 내리막 길 (파이썬) (0) 2022.01.04 [백준] 11049번 행렬 곱셈 순서 (파이썬) (0) 2022.01.04