문제 링크: https://www.acmicpc.net/problem/10448
10448번: 유레카 이론
프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어
www.acmicpc.net
브루트포스(완전탐색)으로 풀었습니다. 코드입니다.
#include<iostream>
using namespace std;
int Tnum(int n)
{
return (n * n + n)/2;
}
int check(int count, int arr_num)
{
for(int a = 1; a <= count; a++)
{
for(int b = 1; b <= count; b++)
{
for(int c = 1; c <= count; c++)
{
if(arr_num==(Tnum(a)+Tnum(b)+Tnum(c)))
{
return 1;
}
}
}
}
return 0;
}
int main()
{
int num;
cin >> num;
int *arr = new int[num];
for(int i = 0; i < num; i++)
cin >> arr[i];
for(int i = 0; i < num; i++)
{
int val = 0;
int count = 0;
while(arr[i] > val)
{
count++;
val=Tnum(count);
}
cout << check(count, arr[i]) << endl;
}
delete[] arr;
return 0;
}
'알고리즘 문제' 카테고리의 다른 글
[알고리즘 문제/C++]백준 1700번 : 멀티탭 스케줄링 (0) | 2021.01.10 |
---|---|
[알고리즘 문제/C++]백준 1463번 : 1로 만들기 (0) | 2021.01.10 |
[알고리즘 문제/C++]백준 1449번 : 수리공 항승 (0) | 2021.01.10 |
[알고리즘 문제/C++]백준 1260번 : DFS와 BFS (0) | 2021.01.10 |
[알고리즘 문제/C++]백준 11047번 : 동전 0 (0) | 2021.01.10 |