j.cpp

来自「ACM大赛基本练习题」· C++ 代码 · 共 42 行

CPP
42
字号
#include <stdio.h>

#define BASE 10000
#define MAXN 10000

int num[MAXN][2];
int q1, n, qn;

void make_it()
{
	int i;

	num[0][0] = num[0][1] = 0;

	if( q1 )
		num[0][1] = 1;
	else
		num[0][0] = 1;

	for( i = 1; i < n; ++i )
	{
		num[i][0] = ( 2 * num[i - 1][0] + num[i - 1][1] ) % BASE;
		num[i][1] = ( 2 * num[i - 1][1] + num[i - 1][0] ) % BASE;
	}

	printf( "%d\n", num[n - 1][qn] );
}

int main()
{
	int i, testCase;

	scanf( "%d", &testCase );

	for( i = 0; i < testCase; ++i )
	{
		scanf( "%d %d %d", &q1, &n, &qn );
		make_it();
	}

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?