alpyrithm_알파이리즘

[알고리즘][Python] 백준(BOJ) 10448 유레카 이론_파이썬 본문

Algorithm/백준 알고리즘_Python

[알고리즘][Python] 백준(BOJ) 10448 유레카 이론_파이썬

알파이 2021. 4. 1. 08:05

 

Brute Force

10448 유레카 이론    www.acmicpc.net/problem/10448

 

10448번: 유레카 이론

프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어

www.acmicpc.net

 

 

문제 풀기 전 공부할 것 : 수학, 브루트포스 알고리즘

 

 

 

 

 

 

 

풀이

<내용>

  • 구체적인 단계적 풀이가 필요하신 분은 댓글 부탁드립니다.

 

<코드>

import sys
input = sys.stdin.readline

t = int(input())
tri = [i*(i+1)//2 for i in range(1, 45)]
for _ in range(t):
    n = int(input())
    m = len(tri)
    flag = False
    for i in range(m):
        if flag:
            break
        if tri[i] > n:
            break
        for j in range(m):
            if flag:
                break
            if tri[i] + tri[j] > n:
                break
            for k in range(m):                
                if tri[i] + tri[j] + tri[k] == n:
                    flag = True
                    break
                elif tri[i] + tri[j] + tri[k] > n:
                    break
    if flag:
        print(1)
    else:
        print(0)

 

 

 

 

 

 

 

 

 

반응형
Comments