44424742 发表于 2013-1-26 13:37:53

poj1579——Function Run Fun

记忆化搜索!
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int dp;intw(int a,int b,int c){if(a<=0||b<=0||c<=0) {dp=1;return 1;}    if(dp!=0)return dp;    if(a<b&&b<c){dp=w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);return dp;}else {dp= w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1);return dp;}}int main(){int a,b,c,x,y,z;while(cin>>a>>b>>c){if(a==-1&&c==-1&&b==-1) break;if(a<=0||b<=0||c<=0 )printf("w(%d, %d, %d) = %d\n",a,b,c,1);else {x=a;y=b;z=c;if(a>20||b>20||c>20){x=20;y=20;z=20;}memset(dp,0,sizeof(0));printf("w(%d, %d, %d) = %d\n",a,b,c,w(x,y,z));}}return 0;}
页: [1]
查看完整版本: poj1579——Function Run Fun