当前位置: 首页 > news >正文

递归函数(c++题解)

题目描述

对于一个递归函数w(a, b, c)。

如果a <= 0 or b <= 0 or c <= 0就返回值1。

如果a > 20 or b > 20 or c > 20就返回W(20,20,20)。

如果a < b并且b < c 就返回w(a, b, c − 1) + w(a, b − 1, c − 1) − w(a, b − 1, c),

其它别的情况就返回w(a − 1, b, c) + w(a − 1, b − 1, c) + w(a − 1, b, c − 1) − w(a −1, b - 1, c - 1)

这是个简单的递归函数,但实现起来可能会有些问题。

输入格式

会有若干行.每行三个数,表示a, b, c。并以−1, −1, −1结束

输出格式

输出若干行,

样例

样例输入

复制1 1 1
2 2 2
-1 -1 -1

样例输出

复制w(1,1,1)=2
w(2,2,2)=4

数据范围与提示

|a|, |b|, |c| < 30

_____________________________________________________________________________

写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 

_____________________________________________________________________________

#include<bits/stdc++.h>
using namespace std;
long long a,b,c,p[65][65][65];
long long w(long long x,long long y,long long z){if(x<=0 || y<=0 || z<=0){return 1;}else if(x>20 || y>20 || z>20){return w(20,20,20);}else if(p[x][y][z]!=0){return p[x][y][z];}else if(x<y && y<z){p[x][y][z]=w(x,y,z-1)+w(x,y-1,z-1)-w(x,y-1,z);return p[x][y][z];}else{p[x][y][z]=w(x-1,y,z)+w(x-1,y-1,z)+w(x-1,y,z-1)-w(x-1,y-1,z-1);return p[x][y][z];}
}
int main(){while(cin>>a>>b>>c){if(a==-1&&b==-1&&c==-1)return 0;long long n=w(a,b,c);printf("w(%lld,%lld,%lld)=%lld\n",a,b,c,n);}return 0; 
}

相关文章:

递归函数(c++题解)

题目描述 对于一个递归函数w(a, b, c)。 如果a < 0 or b < 0 or c < 0就返回值1。 如果a > 20 or b > 20 or c > 20就返回W(20,20,20)。 如果a < b并且b < c 就返回w(a, b, c − 1) w(a, b − 1, c − 1) − w(a, b − 1, c)&#xff0c; 其它别…...

Qt将Unicode转换成UTF8中文

解析字符串&#xff0c;并将里面的Unicode转换成中文 QString unicodeToUtf8(QString unicode) {QString result;for (int i 0; i < unicode.length(); i){QString flag unicode.mid(i,2); if (flag "\\u"){QString s1 unicode.mid(i 2, 4);result.append(s…...

HTTP 的 multipart 类型

上一篇文章讲到 http 的 MIME 类型 http MIME 类型 里有一个 multipart 多部分对象集合类型&#xff0c;这个类型 http 指南里有讲到&#xff1a;MIME 中的 multipart&#xff08;多部分&#xff09;电子邮件报文中包含多个报文&#xff0c;它们合在一起作为单一的复杂报文发送…...

【NR 定位】3GPP NR Positioning 5G定位标准解读(二)

目录 前言 2. UE定位方法的作用 3. 标准UE定位方法 3.1 引言 3.2 网络辅助的GNSS方法 3.3 OTDOA定位 3.4 增强小区ID方法 3.5 气压传感器定位 3.6 WLAN定位 3.7 蓝牙定位 3.8 TBS定位 3.9 运动传感器定位 3.10 NR增强小区ID方法 3.11 多RTT定位 3.12 DL-AoD定位…...

为何代理IP的稳定性不如有线IP?

代理IP与网线IP的稳定性之间存在差异的原因在于它们的工作机制和服务环境的不同。以下是代理IP不如网线IP稳定的一些主要原因&#xff1a; 1. 服务提供商的质量&#xff1a; - 动态分配&#xff1a;代理IP通常是动态分配的&#xff0c;这意味着每次请求或每隔一段时间&#xff…...

【c++】 string类的模拟实现

1.浅拷贝 浅拷贝&#xff1a;也称位拷贝&#xff0c;编译器只是将对象中的值拷贝过来。如果对象中管理资源&#xff0c;最后就会导致多个对象共享同一份资源&#xff0c;当一个对象销毁时就会将该资源释放掉&#xff0c;而此时另一些对象不知道该资源已经被释放&#xff0c;以…...

transformer--transformer模型构建和测试

前面几节进行了各种组件的学习和编码&#xff0c;本节将组件组成transformer&#xff0c;并对其进行测试 EncoderDecoder 编码器解码器构建 使用EnconderDecoder实现编码器-解码器结构 # 使用EncoderDeconder类实现编码器和解码器class EncoderDecoder(nn.Module):def __ini…...

从0到1全流程使用 segment-anything

从0到1全流程使用 segment-anything 一、安装 anaconda 一、下载 anaconda 二、以管理员身份运行安装 1、勾选 Just Me 2、统一安装路径(后续 python 等包也安装至此目录) 3、勾选 add to path 然后安装即可。 三、修改 Anaconda 默认路径及默认缓存路径 Anaconda 默认下…...

Window系统部署Splunk Enterprise并结合内网穿透实现远程访问本地服务

文章目录 前言1. 搭建Splunk Enterprise2. windows 安装 cpolar3. 创建Splunk Enterprise公网访问地址4. 远程访问Splunk Enterprise服务5. 固定远程地址 前言 本文主要介绍如何简单几步&#xff0c;结合cpolar内网穿透工具实现随时随地在任意浏览器&#xff0c;远程访问在本地…...

Windows服务器:通过nginx反向代理配置HTTPS、安装SSL证书

先看下效果&#xff1a; 原来的是 http&#xff0c;配置好后 https 也能用了&#xff0c;并且显示为安全链接。 首先需要 SSL证书 。 SSL 证书是跟域名绑定的&#xff0c;还有有效期。 windows 下双击可以查看相关信息。 下载的证书是分 Apache、IIS、Tomcat 和 Nginx 的。 我…...

LeetCode67 二进制求和

题目 给你两个二进制字符串 a 和 b &#xff0c;以二进制字符串的形式返回它们的和。 示例 示例 1&#xff1a;输入:a "11", b "1" 输出&#xff1a;"100" 示例 2&#xff1a;输入&#xff1a;a "1010", b "1011" 输出&…...

python | 列表,元组,字符串,集合,字典

列表&#xff1a; 可以容纳任意数目不同类型的元素&#xff08;支持我们学过的任意数据类型&#xff09;元素之间有先后顺序用中括号包裹&#xff0c;每个元素用逗号隔开 例如&#xff1a; students [林黛玉,薛宝钗,贾元春,贾探春,史湘云,妙玉,贾迎春,贾惜春,王熙凤,贾巧姐…...

稀疏图带负边的全源最短路Johnson算法

BellmanFord算法 Johnson算法解决的问题 带负权的稀疏图的全源最短路 算法流程 重新设置的每条边的权重都大于或等于0&#xff0c;跑完Djikstra后得到的全源最短路&#xff0c;记得要还原&#xff0c;即&#xff1a;f(u,v) d(u,v) - h[u] h[v] 例题...

oracle基础体系

一、 Oracle数据库服务器 数据库在各个行业都会有使用到&#xff1b;其实&#xff0c;我们平时无论是在与客户沟通或者交流中&#xff0c;所说的Oracle数据库是指Oracle数据库服务器&#xff08;Oracle Server&#xff09;&#xff0c;它由Oracle实例&#xff08;Oracle Instan…...

k8s运维问题整理

1.宕机或异常重启导致etcd启动失败 服务器非正常关机&#xff08;意外掉电、强制拔电&#xff09;后 etcd 数据损坏。 查看apiserver日志发现出现报错Error while dialing dial tcp 127.0.0.1:2379: connect: connection refused&#xff0c;2379是etcd的端口&#xff0c;那么a…...

设计模式(一)设计模式分类和六大设计原则

0.设计模式的分类 GoF提出的设计模式总共有23种&#xff0c;根据目的准则分类分为三大类&#xff1a; 创建型模式&#xff0c;共五种&#xff1a;单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。 结构型模式&#xff0c;共七种&#xff1a;适配器模式、装饰模式…...

git的学习与使用(笔记最全)

什么是git Git是一种分布式版本控制系统&#xff0c;每个开发者都可以在自己的机器上拥有一个完整的仓库 特点 断网也可以工作&#xff1a;没网的情况下&#xff0c;不会影响工作。对于未提交到远程库的代码可以随时撤销。可以查看历史提交记录&#xff0c;以及文件内容的修改记…...

windows环境下Grafana+loki+promtail入门级部署日志系统,收集Springboot(Slf4j+logback)项目日志

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 往期热门专栏回顾 专栏…...

学习python时一些笔记

1、winr 命令提示符的快捷键 输入cmd进入终端 2、在终端运行桌面上的python文件 cd desktop(桌面) cd是进入该文件夹的意思。 cd .. 回到上一级 运行python时一定要找到文件的所在地 输入python进入&#xff0c;exit()退出%s字符串占位符%d数字占位符%f浮点数占位符input输…...

php基础学习之错误处理(其二)

在实际应用中&#xff0c;开发者当然不希望把自己开发的程序的错误暴露给用户&#xff0c;一方面会动摇客户对己方的信心&#xff0c;另一方面容易被攻击者抓住漏洞实施攻击&#xff0c;同时开发者本身需要及时收集错误&#xff0c;因此需要合理的设置错误显示与记录错误日志 一…...

RVC模型在Claude API生态中的应用探索

RVC模型在Claude API生态中的应用探索 最近和几个做AI应用的朋友聊天&#xff0c;大家不约而同地提到了一个痛点&#xff1a;现在的AI助手&#xff0c;比如Claude&#xff0c;文本对话能力已经很强了&#xff0c;但声音总是冷冰冰的合成音&#xff0c;缺乏个性和温度。能不能让…...

每日 AI 研究简报 · 2026-04-06

&#xff08;本文借助 AI 大模型及工具辅助整理&#xff09; 一句话总结&#xff1a;今日AI领域亮点纷呈——Nvidia发布企业级AI Agent平台获17家巨头支持&#xff0c;Claude Code泄露事件引发安全担忧&#xff0c;开源AI Agent生态持续升温。 &#x1f30a; AI 动态与趋势 …...

Spring Data JPA中常用的注解详解

文章目录Spring Data JPA 常用注解详解&#xff08;实体映射篇&#xff09;一、前言二、基础注解&#xff08;必掌握&#xff09;1. Entity2. Table3. Id4. GeneratedValue5. Column6. Basic7. Transient三、时间/枚举类型映射8. Temporal9. Enumerated四、嵌入式对象&#xff…...

【RAG】【vector_stores008】AwaDB向量存储示例

案例目标本案例演示如何使用AwaDB作为向量存储后端构建RAG系统。AwaDB是一个高性能的向量数据库&#xff0c;专门用于存储和检索高维向量数据&#xff0c;适用于语义搜索、推荐系统和AI应用等场景。通过本示例&#xff0c;用户可以学习如何集成AwaDB与LlamaIndex&#xff0c;实…...

嵌入式Linux牛棚养殖监护系统开发实战

1. 项目概述作为一名在嵌入式系统开发领域摸爬滚打多年的工程师&#xff0c;我最近完成了一个很有意思的实战项目——基于嵌入式Linux的牛棚养殖监护系统。这个项目完美结合了嵌入式开发、传感器技术和Qt界面设计&#xff0c;实现了对养殖环境的智能化管理。不同于市面上那些简…...

如何检查SEO文件是否设置正确

如何检查SEO文件是否设置正确 在当今互联网时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为网站运营中不可忽视的一环。SEO文件的设置直接影响网站在搜索引擎上的排名和流量。因此&#xff0c;如何检查SEO文件是否设置正确&#xff0c;是每一个网站运营者必…...

uosc与其他MPV脚本对比:为什么uosc是极简MPV播放器UI的终极选择

uosc与其他MPV脚本对比&#xff1a;为什么uosc是极简MPV播放器UI的终极选择 【免费下载链接】uosc Feature-rich minimalist proximity-based UI for MPV player. 项目地址: https://gitcode.com/gh_mirrors/uo/uosc 在众多MPV播放器UI脚本中&#xff0c;uosc以其独特的…...

嵌入式Linux按键驱动:除了轮询,你更应该掌握的3种高效方式(poll/中断/异步通知实战)

嵌入式Linux按键驱动开发&#xff1a;超越轮询的三种高效方案实战解析 在资源受限的嵌入式设备中&#xff0c;物理按键的处理往往成为影响系统响应速度和功耗的关键因素。传统轮询方式虽然实现简单&#xff0c;但在智能家居面板、手持设备等场景下&#xff0c;其CPU占用率高、响…...

Windows垄断之殇:用户自由的终结,第八章:组合模式 - 整体部分的统一大师。

Windows 原罪&#xff1a;技术垄断与用户自由的剥夺 微软Windows操作系统长期占据市场主导地位&#xff0c;其封闭的生态系统和强制性更新策略对用户选择权造成严重限制。系统强制捆绑IE浏览器并打压竞争对手的行为&#xff0c;直接导致互联网早期创新停滞。 安全漏洞与隐私侵犯…...

Arduino轻量级CLI库cmdArduino原理与实战

1. 项目概述cmdArduino 是一个面向 Arduino 平台的轻量级命令行接口&#xff08;CLI&#xff09;库&#xff0c;由 Freaklabs 团队的 Akiba 与 Jacinta 开发。其核心定位并非构建功能完备的嵌入式 Shell&#xff08;如 BusyBox 或 MicroPython REPL&#xff09;&#xff0c;而是…...