POJ-1579
2024-09-13 18:26:07
#include <stdio.h>
#include <stdlib.h>
int dp[][][];
int w(int a,int b,int c){
if(a<=||b<=||c<=){
return ;
}
if(a>||b>||c>){
return w(,,);
}
if(dp[a][b][c]){//查找数组中是否有值,如果有,直接返回数组的值
return dp[a][b][c];
}
if(a<b&&b<c){
dp[a][b][c]= w(a,b,c-)+w(a,b-,c-)-w(a,b-,c);
}
else
dp[a][b][c]= w(a-,b,c)+w(a-,b-,c)+w(a-,b,c-)-w(a-,b-,c-);
return dp[a][b][c];
}
int main(){
int a,b,c;
int num;
//第一种读入方法
freopen("input.txt","r",stdin);
//scanf("%d %d %d\n",&a,&b,&c);
scanf("%d",&num);
for(int i=;i<num;i++){
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
printf("w(%d, %d, %d) = %d\n",a,b,c,w(a,b,c));
}
//第二种读入方法
//while(~scanf("%d %d %d",&a, &b, &c)){
//if(a==-1&&b==-1&&c==-1)
// break;
//printf("w(%d, %d, %d) = %d\n",a,b,c,w(a,b,c));
//}
//w(a,b,c);
system("pause"); }
记忆化搜索:
求解的过程中按着自顶向下的顺序,但每求一个解的状态,就把他的解保存下来,以后再次遇到这个解的时候,就不必重新求解了。
最新文章
- 学习 git基础命令
- spring MVC入门教程
- Chrome 及其 插件“个性化设置”备份
- Webview组件和HTML的介绍
- 三、HTTP抓包测试
- SpringAOP详解(转载大神的)
- Android异步加载访问网络图片-解析json
- PHP面向对象——类常量,魔术常量与延期绑定
- redhat网络基础配置
- Install PaddlePaddle (Parallel Distributed Deep Learning)
- centos之Haproxy 负载均衡学习笔记
- 由IP和掩码计算广播地址
- Beta项目冲刺汇总贴
- 关于ios导航控制器的知识总结
- android程序打包成APK
- could not write file C:\DOCUME~1\ADMIN
- Core Text
- android下4G上网卡
- CRegKey 注册表操作
- Doxgen+Graphiz+htmlhelp配置