POJ3364

为什么我的代码AC不了。

#include <stdio.h>
int v[40001][40001][10];
long int f(int n, int m, int c)
{
	if(n==8 && m==8 && c==0)
		v[8][8][0] = 0;
	if(n==8&&m==8&&c==1)
		v[8][8][1] = 1;
	if(n==9&&m==8&&c==0)
		v[9][8][0] = 1;
	if(n==9&&m==8&&c==1)
		v[9][8][1] = 1;
	if(n>8 && m>8 && c==0)
		v[n][m][c] = f(n-1, m-1, 0) + 2;
	else if(n>8 && m>8 && c==1)
		v[n][m][c] = f(n-1, m-1, 1) + 1;
	return v[n][m][c];
}
int main()
{
	int n, m, c;
	long int result;	
	while(scanf("%d %d %d", &n, &m, &c) != EOF)
	{
		if(n == 0 && m == 0 && c == 0)
			break;
		else
		{
			if(n >= m)
				result = f(n, m, c);
			else
				result = f(m, n, c);
		}
		printf("%ld\n", result);
	}
	return 0;
}


 

原文地址:https://www.cnblogs.com/xinyuyuanm/p/2985401.html