修行之路~扣得为艾斯1910递归函数

1910 递归函数

时间限制: 1 s

空间限制: 128000 KB

题目等级 : 黄金 Gold

题目描述 Description

对于一个递归函数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)

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

输入描述 Input Description

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

输出描述 Output Description

输出若干行,注意各种中的空格。

样例输入 Sample Input

1 1 1
2 2 2
-1 -1 -1

样例输出 Sample Output

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

数据范围及提示 Data Size & Hint

a, b, c < 30, Task < 11

传送门   ->>

      ^

      |

这题用了数学思维 是我手(chao)写(xi)的。

#include <iostream>
#include <cstdlib>
using namespace std;
int w(int a,int b,int c)
{
    if(a<=0||b<=0||c<=0) return 1;
    else if(a>20||b>20||c>20) return w(20,20,20);
    else if(a<=b||a<=c)
    {
        int i=1;
        for(int j=0;j<a;j++)
        i*=2;
        return i;
    }
    else return w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1);
}
int main()
{
       int a[11][3],i,j;
       for(i=0;i<11;i++)
       {
              cin>>a[i][0]>>a[i][1]>>a[i][2];
              if(a[i][0]==-1&&a[i][1]==-1&&a[i][2]==-1) break;
       }
       for(j=0;j<i;j++)

               cout<<"w("<<a[j][0]<<", "<<a[j][1]<<", "<<a[j][2]<<") = "<<w(a[j][0],a[j][1],a[j][2])<<endl;
       return 0;
}

点击展开

时间: 2024-08-04 02:10:55

修行之路~扣得为艾斯1910递归函数的相关文章

python 修行之路(1-自我介绍及python环境的搭建)

一.自我介绍 我是一个代码小白,做的非IT的工作.生活的城市因为电子和IT技术的普遍性(呵呵,其实也和收入有关),也有想学习一门技术的想法,误打误撞的走上了学习Python的道路.其实对于一个纯小白来时,学习真的很难,代码看不懂,甚至课都听不懂,更重要的是,半路出家对于身在职场的人真的难度太大了.不过细想起来,这会不会是一种挑战?会不会是一种机遇?这不正是当初书生意气,仗剑走天涯的感觉么?不管怎样,既然要学就要学好,就算是为了证明我不害怕代码(呵呵).相信向我这样小白走上啃代码道路的人一定会有,

python修行之路(三 模块初识及数据运算类型)

在python修行路上,果不其然的遇到了第一个困处,开始看不懂代码,开始出现理解苦难的现象,这是小白修行路上的正常现象.其实自己是很慌的,感觉很无助,能做的就是把自己学的慢慢记录下来,理一个自己的逻辑,尽量写清楚,写的通俗易懂,为与我类似的修行者做参考. 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,使用时安装调用就好,现在先象征性的学习2个简单的. sys模块--sys pass功能#!/usr/bin/env python# -*- coding: utf-8

欲练JS,必先攻CSS——前端修行之路

今天我讲的主题是css,具体聊一下我大概的css学习历史,分享一些干货,希望这次分享对大家有所启发和帮助. 个人的css历史: 说说自己的css学习的历史,12年,当时是老师手把手1对1教我div+float的固定布局,所有元素全部用float,做了学生会网站的全部前端页面,因为有段时间学PS比较多,也是自己做的UI,很丑,老师说第一次做成这样很不错了,那时老师就觉得我有做前端的天赋,我就是从这个时候开始接触前端的.毕业设计自己一个人做了一个全栈的web,做完整个毕业设计后,我就决定出来要做前端

修行之路~欧喷扎职3.9-3339

3339:List 总时间限制: 4000ms 内存限制: 65536kB 描述 写一个程序完成以下命令:new id --新建一个指定编号为id的序列(id<10000)add id num--向编号为id的序列加入整数nummerge id1 id2--合并序列id1和id2中的数,并将id2清空unique id--去掉序列id中重复的元素out id --从小到大输出编号为id的序列中的元素,以空格隔开 输入第一行一个数n,表示有多少个命令( n<=200000).以后n行每行一个命令

Python修行之路__流程控制

Python和其他语言有一个很大的区别在于:Python 使用硬回车来分割语句,使用冒号(:)和缩进来分割代码块.同一层次的语句必须有相同的缩进(每一组这样的语句称为一个块),而C语言风格的编程语言(Java/C#/C++)则使用分号来分割语句,花括号来分割代码块. (注:不要混合使用tab键和空格来进行缩进,这会使程序在跨平台时不能正常的工作.官方推荐的做法是使用四个空格.) 条件和条件语句 Python条件语句是通过一条或多条语句的执行结果(True或False)来决定执行的代码块.在pyt

Python修行之路__数据类型

Python3中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) Set(集合) 在Python中,最基本的数据结构就是序列(sequence).序列的每个元素被分配一个序号—即索引(元素的位置),第一个索引是0,第二个则是1,以此类推. Number(数字) 数值类型: 类型 描述 语法示例 int (整型) 无小数部分的数(python3中只有一种整型类型int(长整型),没有Python2中的Long)

Python修行之路之字符串(二)修改、查找、格式化

字符串修改replace(old,new[,count]) - > str字符串中找到匹配替换为新子串,返回新字符串count表示替换几次,不指定就是全部替换原字符串为一个常量,不可变.修改返回的为新子串strip([chars]) - > str从字符串两端去除指定字符集chaars中的所有字符如果chars没有指定,去除两端的空白字符空白字符.就是指看不见的字符如\r\n\t空格 空白字符,空串确实为空lstrip([chars]) - > str从左开始rstrip([chars]

IT人的情绪控制实践之路——与心魔斗争的第一步(前言)

    我不反对技术,但是反对把任何技术凌驾于真理之上的做法.  --电影<超时空接触> 一种形象的说法来形容当下IT行业的拼搏之路就像是西欧15-17世纪左右凶险繁盛的大航海世代--大家梦想着航行前往神秘的大陆,梦想着和那些街头小巷都认识的明星船长一样,带着征服海洋的热情,对未知知识的向往,更重要的是神秘大陆上遍地诱人的财富.那一箱箱的珠宝.钻石.香料.丝绸都让人们相信,无论多么困难重重,这都是一条最快积累财富的白银之路.但是,人们在出发前备齐了地图.领航员和食物,却不知道一路风暴所带来的曲

[转]放松是修行的第一课 《次第花开》

本文转自:走出修行的误区——关于出离心 http://www.ptz.cc/plus/view.php?aid=45600 人们常说把修行融入生活中,可奇怪的是,尽管我们很努力,修行却仍然与我们的生活若即若离.当我们打坐.念经.微笑面对他人时,我们觉得自己做 得很好,真正是把佛法运用到生活中了:可是在我们沮丧.愤怒.疼痛.委屈的时候,佛陀的教诲便开始记不清.除了当时极其鲜明而强烈的屈辱感.挫败感外,其 他一切都退到模糊的背景中去了.也许有人不禁要怀疑上师教给我们的种种方法是否真的有效. 为什么修