博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1597 Function Run Fun
阅读量:6305 次
发布时间:2019-06-22

本文共 1017 字,大约阅读时间需要 3 分钟。

记忆化搜索。

#include
#include
#include
#include
#include
#include
#include
#include
#include
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
f;map
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

你可能感兴趣的文章
前端脚本!网站图片素材中文转英文
查看>>
linux的常用易忘命令
查看>>
PHP 分割字符串
查看>>
java 基于QRCode、zxing 的二维码生成与解析
查看>>
关于职业规划的一些思考
查看>>
img垂直水平居中与div
查看>>
Fabrik – 在浏览器中协作构建,可视化,设计神经网络
查看>>
防恶意注册的思考
查看>>
http2-head compression
查看>>
C# 命名空间
查看>>
订餐系统之同步美团商家订单
查看>>
使用ArrayList时设置初始容量的重要性
查看>>
Java Web-----JSP与Servlet(一)
查看>>
Maven搭建SpringMVC+Mybatis项目详解
查看>>
关于量子理论:最初无意的简化,和一些人有意的强化和放大
查看>>
CentOS 6.9通过RPM安装EPEL源(http://dl.fedoraproject.org)
查看>>
“区块链”并没有什么特别之处
查看>>
没有功能需求设计文档?对不起,拒绝开发!
查看>>
4星|《先发影响力》:影响与反影响相关的有趣的心理学研究综述
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>