티스토리 뷰

문제

https://www.acmicpc.net/problem/10448

풀이과정

처음에는 이걸 어떻게 하지 ? 라는 생각을 했지만 시간제한을 보니 그냥 for문으로 다 검사해도 될 것 같아서 쉽게 해결했다. 비교적 어렵지 않은 완전탐색 문제이다.

소스코드

#include <iostream>
#include <vector>

using namespace std;

int arr_T[50];

void init()
{
    for (int i = 1; i <= 50; i++)
    {
        arr_T[i - 1] = i*(i + 1) / 2;
        //cout << arr_T[i - 1] << endl;
    }
}

bool solution(int num)
{
    for (int i = 0; i < 50; i++)
    {
        for (int j = 0; j < 50; j++)
        {
            for (int k = 0; k < 50; k++)
            {
                int sum = arr_T[i] + arr_T[j] + arr_T[k];
                if (sum == num)
                    return true;
            }
        }
    }

    return false;
}

int main()
{
    ios::sync_with_stdio(false);

    int T,K;

    cin >> T;

    init();

    for (int i = 0; i < T; i++)
    {
        cin >> K;

        if (solution(K)) cout << 1 << "\n";
        else cout << 0 << "\n";
    }


    return 0;
}

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 1003번 피보나치 함수  (0) 2018.01.30
[백준] 1463번 1로 만들기  (0) 2018.01.25
[백준] 2667번 단지번호붙이기  (0) 2018.01.19
[백준] 2331번 반복수열  (0) 2018.01.16
[백준] 10451번 순열 사이클  (0) 2018.01.15
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함