记忆化搜索。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
#include<map>
#include<queue>
#include<string>
#include<iostream>
using namespace std;struct X{int x,y,z;X(int xx,int yy,int zz){x=xx;y=yy;z=zz;}bool operator < (const X &a) const {if(x!=a.x) return x>a.x;if(y!=a.y) return y>a.y;return z>a.z;}
};
int a,b,c;
map<X,bool>f;
map<X,int>w;int work(int x,int y,int z)
{if(f[X(x,y,z)]) return w[X(x,y,z)];f[X(x,y,z)]=true;if(x <= 0 || y <= 0 || z <= 0) w[X(x,y,z)]=1;else if(x > 20 || y > 20 || z > 20) w[X(x,y,z)] = work(20,20,20);else if(a < b && b < c) w[X(x,y,z)] =work(x, y, z-1) + work(x, y-1, z-1) - work(x, y-1, z);else w[X(x,y,z)] = work(x-1, y, z) + work(x-1, y-1, z) + work(x-1, y, z-1) - work(x-1, y-1, z-1);return w[X(x,y,z)];
}int main()
{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,work(a,b,c));}return 0;
}

转载于:https://www.cnblogs.com/zufezzt/p/6814442.html

POJ 1597 Function Run Fun相关推荐

  1. 记忆化搜索--poj 1597 Function Run Fun

    http://poj.org/problem?id=1579 如果按平常写会超时 long long dfs(int x, int y, int z) {if(x <= 0 || y <= ...

  2. POJ - 1579 Function Run Fun

    Function Run Fun POJ - 1579 AYIT-2021 609暑假集训第一周下 记忆化搜索和背包 We all love recursion! Don't we? Consider ...

  3. POJ1579 HDU1331 HDU1579 ZOJ1168 Function Run Fun【记忆化递归】

    Function Run Fun Description We all love recursion! Don't we? Consider a three-parameter recursive f ...

  4. (精)【ACM刷题之路】POJ题目详细多角度分类及推荐题目

    POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: ...

  5. POJ前面的题目算法思路【转】

    1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...

  6. poj题目详细分类及算法推荐题目

    DP:  1011   NTA                 简单题  1013   Great Equipment     简单题  1024   Calendar Game       简单题  ...

  7. ACM POJ 题目分类(完整整理版本)

    DP: 1011   NTA                 简单题  1013   Great Equipment     简单题  1024   Calendar Game       简单题   ...

  8. POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)

    本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...

  9. hdu与poj题目分类

    POJ 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(po ...

最新文章

  1. 漫话:如何给女朋友解释什么是熔断?
  2. 进制转换数据结构c语言不用栈,急求!!!用数据结构(C语言)利用栈实现十进制向二(八)进制转换,要有注释,谢谢!...
  3. java panel 左对齐,将Shape的中心与JPanel的中心对齐 - java
  4. 链接器(linker)的作用——CSAPP第7章读书笔记
  5. Python os.path() 模块 详解 附算例
  6. 异步加载在Vue生命周期哪个阶段更合理
  7. 转载:关于对REST的基本认识和理解
  8. UILabel 宽高自适应
  9. 数仓安全:用Alter default privilege解决共享schema权限
  10. WRF模式中eta层的设置以及分别对应的高度(转)
  11. 23. Linux 主机上的用户信息传递
  12. 基于单片机的室内空气质量检测系统
  13. 摄像头各参数的意义_详解:摄像头参数介绍说明
  14. 【最优化导论】一维搜索方法
  15. 阿里云安全防护是如何做到的?有怎样的安全生态圈
  16. Kylin RT OLAP reassign流程即重新分配replica_set 流程
  17. Android--智能图像识别(基于百度智能云)
  18. jetson 板卡功率测试
  19. ctfshow_2021月饼杯记录
  20. Groovy(Java笨狗)系列--fields and local variables

热门文章

  1. PHP学习笔记-字符串操作1
  2. Swift直接解析YApi接口为模型
  3. UIView自定义控件-Swfit
  4. Flutter开发之BottomSheetDialog选择组件-5(44)
  5. Flutter开发之SnackBar提示组件-4(43)
  6. (0011) iOS 开发之模拟HTTP请求与响应,返回自己想要的报文。
  7. android one gm 5,Android One计划诞生,GM 5 Plus发布
  8. list 去重_测试面试题集Python列表去重
  9. python控制流_Python 的控制流代码混淆
  10. 使用Donut Caching和Donut Hole Caching在ASP.NET MVC应用中缓存页面