104481 백준 10448 유레카 이론 from itertools import combinations import sys input = sys.stdin.readline tri = [n * (n + 1) // 2 for n in range(46)] for _ in range(int(input())) : yes = 0 num = int(input()) for i in range(1, 46) : for j in range(i, 46) : for k in range(j, 46) : if tri[i]+tri[j]+tri[k] == num : yes = 1 print(yes) 완전 탐색을 이용해 해결했다. 테스트케이스가 1000까지 이기 때문에 넉넉하게 46번째까지 미리 구해서 배열에 넣어주었다. 겹치지 않는 3개의 유레카 수의 합이 입력받는 값과 같.. 2022. 6. 13. 이전 1 다음