南邮 OJ 1845 D. Soft drink

D. Soft drink

时间限制(普通/Java) :  1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 60            测试通过 : 28 

比赛描述

    校庆降至,南三推出汽水促销活动,可以用喝完的空瓶子换新的汽水(当然老板不会傻到一个空瓶子就能换一瓶汽水)。比如现在两个空瓶可以换一瓶汽水,每瓶汽水2元,那么可以花2元钱喝到两瓶汽水(不理解?看note)。为了刺激大家来喝汽水,老板会每天变动换汽水所需要的空瓶数量。现在我想知道用饭卡中的钱最多可以喝到多少瓶汽水。

输入

    第一行为一个正整数C(0<c<=100),表示汽水的单价。接下来是多组数据,每组一行,为两个正整数:换一瓶汽水所需要的空瓶数量N(1<N<=100),我的饭卡余额M(0<M<10000)。中间由一个空格分开。

输出

    为一个整数S:最多可以喝到的汽水的数量。每组输出占一行

样例输入

2
2 1
2 2

样例输出

0
2

题目来源

ACM爱好者协会





/* Wrong Answer at Test 2
#include<iostream>

int main(){
	int c,n,m,count,sum;
	scanf("%d",&c);
	while(scanf("%d%d",&n,&m)==2){
		sum = count = m/c;
		while(count>=n){
			count /= n;
			sum += count;
		}
		if(count == n-1){
			sum++;
		}
		printf("%d\n",sum);
	}
}
*/




#include<iostream>

int main(){
	int c,n,m,count,sum;
	scanf("%d",&c);
	while(scanf("%d%d",&n,&m)==2){
		sum = count = m/c;
		while(count>=n){
			sum += count/n;
			count = count%n + count/n;
		}
		if(count == n-1){
			sum++;
		}
		printf("%d\n",sum);
	}
}


你可能感兴趣的:(ACM,soft,Drink,南邮OJ,D.)