10448번: 유레카 이론
프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어
www.acmicpc.net
아이디어:
3<=K<=1000 이므로 T1~T44(=990), T45(=1035)까지 계산한 후 세 수의 합으로 표현할 수 있는지 검사해보면 된다.
검사는 그냥 삼중for문을 돌리면서 확인하는 걸로 했다.
import sys
input = sys.stdin.readline
T = []
for i in range(1,45):
T.append(i*(i+1)//2)
def sol(K):
for a in T:
for b in T:
for c in T:
if (a+b+c)==K:
return 1
return 0
t = int(input())
for _ in range (t):
K = int(input())
print(sol(K))
'알고리즘💻 > Bruteforce&Backtracking' 카테고리의 다른 글
BOJ 2993번: 세 부분 (0) | 2021.07.11 |
---|---|
BOJ 14888번: 연산자 끼워넣기 (0) | 2021.03.24 |
BOJ 2580번: 스도쿠 (0) | 2021.01.17 |
BOJ 15663번: N과 M(9) (0) | 2021.01.17 |
BOJ 9663번: N-Queen (0) | 2021.01.16 |