EOJ2690. Soda Surpler

文章描述了一个对苏打水着迷的人Tim,他通过回收空瓶子来购买新的苏打水。给定初始的空瓶数、当天找到的空瓶数以及购买一瓶新苏打水所需的空瓶数,程序计算出Tim在特别渴的那天喝了多少瓶苏打水。问题涉及到了一个简单的数学算法,用于处理瓶子交换的过程。
摘要由CSDN通过智能技术生成

单点时限: 2.0 sec

内存限制: 256 MB

Tim is an absolutely obsessive soda drinker,he simply cannot get enough. Most annoyingly

though, he almost never has any money, so his only obvious legal way to obtain more soda is to take the money he gets when he recycles empty soda bottles to buy new ones. In addition to the empty bottles resulting from his own consumption he sometimes find empty bottles in the street. One day he was extra thirsty, so he actually drank sodas until he couldn’t aford a new one.

输入格式

Three non-negative integers e,f,c, where e<1000 equals the number of empty soda

bottles in Tim’s possession at the start of the day, f<1000 the number of empty soda

bottles found during the day, and 1<c<2000 the number of empty bottles required to

buy a new soda.

输出格式

How many sodas did Tim drink on his extra thirsty day?

样例

input

9 0 3
5 5 2

output

4
9

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int consume(int drank, int bottleshaving, int expense){
    // change before drink.
    while(bottleshaving >= expense)
    {
        drank += bottleshaving / expense;
        bottleshaving = bottleshaving % expense + bottleshaving / expense;
    }
    return drank;
}

int main() {
    int e,f,c;
    cin >> e >> f >> c;
    int having = e+f;
    int drank=0;
    int ret = consume(drank , having , c);
    cout << ret << endl;
    return 0;
} 

ps:关于EOJ的样例输出:虽然题目样例给出的是【input2条-output2条】,实际上经过测试,只需要完成诸如让【9 0 3】一条输入进去,得到【4】的输出,并且保证其他测试用例的正确即可。

不知道是不是其他的OJ系统也这样=.=

.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值