【poj1579】Function Run Fun (动态规划DP递归,记忆化递归)

Categories: 数据结构和算法
Tags: ,
Comments: No Comments
Published on: 2011 年 04 月 20 日
#include<cstdio>
using namespace std;
int arr[21][21][21];
int fun(int a,int b,int c)
{
	if(a<=0||b<=0||c<=0) return 1;
	if(a>20||b>20||c>20) return arr[20][20][20];
	if(arr[a][b]1!=0) return arr[a][b]1;
	if(a<b && b<c) 
		return arr[a][b]1=fun(a,b,c-1)+fun(a,b-1,c-1)-fun(a,b-1,c);
	return arr[a][b]1=fun(a-1,b,c)+fun(a-1,b-1,c)+
		fun(a-1,b,c-1)-fun(a-1,b-1,c-1);
}
int main()
{
	freopen("1.txt","r",stdin);
	int a,b,c;
	arr[20][20][20]=1048576;
	while(scanf("%d%d%d",&a,&b,&c)!=EOF)
	{
		if(a==-1 &&b==-1&&c==-1) break;
		printf("w(%d, %d, %d) = %d\n",a,b,c,fun(a,b,c));
	}
}

我猜你可能也喜欢:

No Comments - Leave a comment

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


Welcome , today is 星期二, 2017 年 10 月 24 日