728x90
https://www.acmicpc.net/problem/3040
3040번: 백설 공주와 일곱 난쟁이
매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다.
www.acmicpc.net
손풀기용 문제
combination으로 두개의 값을 고르고, 그 두개의 값을 뺐을때 100이 되는 값을 찾는다.
그 두개의 값을 제거한뒤에 모든 값을 출력하면된다.
# import sys; input = sys.stdin.readline
from itertools import combinations
def main():
dwarves = [int(input()) for _ in range(9)]
total = sum(dwarves)
rm_v1, rm_v2 = None, None
for v1, v2 in combinations(dwarves, 2):
if total - v1 - v2 == 100:
rm_v1, rm_v2 = v1, v2
break
dwarves.remove(rm_v1)
dwarves.remove(rm_v2)
print(*dwarves, sep="\n")
if __name__ == '__main__':
main()
손풀기용 문제였지만 백트래킹으로 접근했을때 답을 틀렸다.
백트래킹 왜이렇게 약한지...
'STUDY > Algorithm' 카테고리의 다른 글
[백준] 15657 N과 M(8) python (0) | 2022.01.27 |
---|---|
[백준] 15654 N과 M(5) python (0) | 2022.01.27 |
[백준] 24230 트리 색칠하기 python (0) | 2022.01.26 |
[백준] 17073 나무 위의 빗물 python (0) | 2022.01.26 |
[백준] 17836 공주님을 구해라! C++ (0) | 2022.01.25 |