吉首大学2019年程序设计竞赛 E——多喝嘤料

本文介绍了一道关于空瓶换饮料的算法题,通过递归函数计算已购一定数量饮料后,利用空瓶和瓶盖继续换取饮料的最大数量。采用Python实现,适合初学者理解递归思想。

链接:https://ac.nowcoder.com/acm/contest/992/E
来源:牛客网
 

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

卖嘤料~~~卖嘤料~~~

3个空瓶换一瓶。

4个瓶盖换一瓶。

问已购买n瓶嘤料的QAQ能喝到多少瓶嘤料?

输入描述:

第一行一个正整数T(0<T<=100)

随后T行,每行一个整数n(0<=n<=1000000)

输出描述:

T行,每行一个整数表示结果。

示例1

输入

复制

3
1
2
10

输出

复制

1
2
22

题意:不解释

题解:思维水题,看看代码就懂了,我主要是第一次用python写题,小激动~~

def dfs(x,y):
    if x<3 and y<4:
        return 0
    return x//3+y//4+dfs(x%3+x//3+y//4,y//4+y%4+x//3)
 
t=int(input())
for i in range(t):
    n=int(input())
    ans=dfs(n,n)+n
    print(ans)

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心脏dance

如果解决了您的疑惑,谢谢打赏呦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值