https://www.acmicpc.net/problem/1003
0의 개수와 1의 개수가 i번째 일때 i-1과 i-2에서의 개수를 더한값이랑 같아서
그걸 이용해 풀었고 시간을 아끼기 위해 미리 0부터 40까지 구해놓고 바로 값을 받아 구하는 방법으로 풀었다.
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
int main() {
int TestCase = 0;
cin >> TestCase;
int num = 0;
int num_zero[42];
int num_one[42];
num_zero[0] = 1;
num_one[0] = 0;
num_zero[1] = 0;
num_one[1] = 1;
for (int i = 2;i <= 40;i++) {
num_zero[i] = num_zero[i - 2] + num_zero[i - 1];
num_one[i] = num_one[i - 2] + num_one[i - 1];
}
for (int i = 0;i < TestCase;i++) {
cin>>num;
cout << num_zero[num] <<" "<< num_one[num]<<endl;
}
}
첫번째 시도는 마지막에 endl을 안써서 틀렸다..진짜 바보인가