처음에는 안됐는데 문제는 overflow였다.
모든 걸 long long으로 바꾸니 해결됐다.
#include <iostream>
using namespace std;
int main() {
int T;
cin >> T;
if (T < 1 || T>1000) {
return 0;
}
int *values = new int[T];
for (int i = 0; i < T; i++) {
cin >> values[i];
if (values[i] < 1 || values[i]>64) {
return 0;
}
}
for(int i = 0; i<T; i++){
long long arr[10] = { 1,1,1,1,1,1,1,1,1,1 };
long long n = values[i];
for (long long i = 0; i < n - 1; i++) {
for (int j = 1; j < 10; j++) {
arr[j] = arr[j - 1] + arr[j];
}
}
long long result = 0;
for (int i = 0; i < 10; i++) {
result += arr[i];
}
cout << result << endl;
}
}
'컴퓨터 > 문제 풀기' 카테고리의 다른 글
백준 16955번 오목, 이길 수 있을까? (0) | 2019.05.20 |
---|---|
10799번 쇠막대기 (0) | 2019.05.13 |
2413번 비슷한 순열 (1) | 2019.05.13 |
2309번 일곱 난쟁이 (0) | 2019.05.13 |
백준 1780번 종이의 개수 (0) | 2019.05.13 |