#문제
https://www.acmicpc.net/problem/10448
#작성 코드
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
31
32
33
34
35
36
37
38
|
#include <iostream>
#include <vector>
using namespace std;
int t;
vector<int> tri;
int main(){
cin>>t;
// maxnum 이하의 삼각수까지를 계산해서 tri 벡터에 저장한다.
for(int i=1; i*(i+1)/2<1000; i++){
tri.push_back(i*(i+1)/2);
}
for(int i=0; i<t; i++){
int x;
cin>>x;
// 1000 이하의 삼각수의 개수가 적으므로 삼중 포문으로 해결할 수 있다.
bool possible=false;
for(int a=0; a<tri.size(); a++){
for(int b=a; b<tri.size(); b++){
for(int c=b; c<tri.size(); c++){
if(x==tri[a]+tri[b]+tri[c]){
cout<<"1\n";
possible = true;
}
if( possible ) break;
}
if( possible ) break;
}
if( possible ) break;
}
if(!possible) cout<<"0\n";
}
return 0;
}
|
cs |
##
'BOJ' 카테고리의 다른 글
BOJ 1182번 :: 부분수열의 합 (0) | 2020.02.06 |
---|---|
BOJ 2503번 :: 숫자 야구 (0) | 2020.02.06 |
BOJ 3085번 :: 사탕 게임 (0) | 2020.02.04 |
BOJ 2309번 :: 일곱 난쟁이 (0) | 2020.02.03 |
BOJ 16500번 :: 문자열 판별 (0) | 2020.02.03 |