单点时限: 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系统也这样=.=
.
文章描述了一个对苏打水着迷的人Tim,他通过回收空瓶子来购买新的苏打水。给定初始的空瓶数、当天找到的空瓶数以及购买一瓶新苏打水所需的空瓶数,程序计算出Tim在特别渴的那天喝了多少瓶苏打水。问题涉及到了一个简单的数学算法,用于处理瓶子交换的过程。
1531

被折叠的 条评论
为什么被折叠?



