백준 1003 c

magicdrill·2024년 2월 22일

백준 문제풀이

목록 보기
9/673

백준 1003 c

#include <stdio.h>
#include <stdlib.h>

#pragma warning(disable:4996)

int countzero[41] = { 1, 0, 1, };
int countone[41] = { 0, 1, 1, };

int input(int lower, int upper)
{
	int A;

	while (1)
	{
		scanf("%d", &A);
		if (A >= lower && A <= upper)
		{
			break;
		}
		else
		{
			;
		}
	}

	return A;
}

void input_arr(int* arr, int n)
{
	int i;

	for (i = 0; i < n; i++)
	{
		arr[i] = input(0, 40);
	}

	return;
}

int main(void)
{
	int T, i;
	int* arr;

	scanf("%d", &T);
	arr = (int*)malloc(sizeof(int) * T);
	if (arr == NULL)
	{
		return 0;
	}
	input_arr(arr, T);
	for (i = 3; i < 41; i++)
	{
		countzero[i] = countzero[i - 1] + countzero[i - 2];
		countone[i] = countone[i - 1] + countone[i - 2];
	}
	for (i = 0; i < T; i++)
	{
		printf("%d %d\n", countzero[arr[i]], countone[arr[i]]);
	}
	free(arr);

	return 0;
}

0개의 댓글