https://www.acmicpc.net/problem/1003
더보기
#include <iostream>
#include <vector>
using namespace std;
struct FIBO {
int zero, one;
};
int main()
{
vector<FIBO> arr;
int tc;
cin >> tc;
for (int k = 1; k <= tc; k++) {
int n;
cin >> n;
if (n == 0) {
cout << "1 0" << endl;
continue;
}
else if (n == 1) {
cout << "0 1" << endl;
continue;
}
arr.resize(n + 1);
arr[0] = { 1, 0 };
arr[1] = { 0 ,1 };
for (int i = 2; i <= n; i++) {
arr[i].one = arr[i - 1].one + arr[i - 2].one;
arr[i].zero = arr[i - 1].zero + arr[i - 2].zero;
}
cout << arr[n].zero << " " << arr[n].one << endl;
}
return 0;
}