Programming/Judge
                
              ACMICPC 1003 : 피보나치 함수
                deviAk
                 2014. 12. 15. 12:30
              
              
                    
        반응형
    
    
    
  ACMICPC 1003 : 피보나치 함수
<결과>
<코드>
#include <iostream>
using namespace std;
int main()
{
	int num_cases = 0;
	cin >> num_cases;
	for (int i = 0; i < num_cases; ++i)
	{
		int n = 0;
		cin >> n;
		if (n == 0)	cout << "1 0" << endl;
		else if (n == 1) cout << "0 1" << endl;
		else
		{
			// 0 count, 1 count
			// 1, 0 (f1)
			// 0, 1 (f0)
			int m[2][2] = { { 0, 1 }, { 1, 0 } };
			for (int j = 2; j < n; ++j)
			{
				int new_ones = m[0][1] + m[1][1];
				int new_zeros = m[0][0] + m[1][0];
				m[1][0] = m[0][0];
				m[1][1] = m[0][1];
				m[0][1] = new_ones;
				m[0][0] = new_zeros;
			}
			cout << m[0][0] + m[1][0] << " " << m[0][1] + m[1][1] << endl;
		}
	}
	return 0;
}
반응형