[解题报告]11689 - Soda Surpler

题目大意

题目原文:http://uva.onlinejudge.org/external/116/11689.pdf

背景:

 

Tim 是一个非常爱喝汽水的人。由于他没有钱,所以他要喝汽水的唯一方法就是收集空汽水瓶子,然后拿去回收换取钱再去买新汽水来喝。除了他自己喝完的空瓶子,Tim也会到街上去收集别人喝完的空瓶子。有一天,他非常的渴,他要尽可能的喝汽水,直到他得不到任何一瓶为止。

输入:

输入的第1列有一个整数N,代表以下有多少组测试数据。
每组测试数据1列,含有 3个整数 e,f,c 。e(0 <= e < 1000)代表Tim一开始拥有的空瓶子数目,f(0 <= f < 1000)代表Tim在这一天他在街上收集到的空瓶子数目,c(1 < c < 2000)代表多少个空瓶子可以换一瓶新的汽水。
请参考SampleInput。

 

输出:

 对每一组测试数据输出一列,代表 Tim 可以喝到多少瓶汽水。

 

算法:

这也是比较简单的一道题,这道题目和我们老师组织ACM进行选拔的时候一样,记得那时候我做错了,原因是想得太简单了。

 

代码:

这里附上我的代码,你可以去这里提交你的代码验证你的代码是否正确。

View Code
#include<stdio.h>
int main(void)
{
    int n,a,b,c,d,sum,flag;
    scanf("%d",&n);
    while(n--)
    {
        sum=0;
        scanf("%d %d %d",&b,&d,&c);
        a=b+d;
        while(a)
        {
        flag=a/c;
        sum+=a/c;
        a=flag+a%c;
        if(a<c-1)break;
        else if(a<=c-1)break;
        }
        printf("%d\n",sum);
    }
    return 0;
}

 

 

posted @ 2013-02-25 18:25  乱七八糟 。  阅读(226)  评论(0编辑  收藏  举报