zoj3568 BIT1003 Exchange for Cola

一开始看这题还以为是数论题,囧,演算了半天,写出来还WA了

后来发现是模拟题尴尬

题意:

你有N个盖子,A个盖子就可以换到B瓶可乐,然后你就又多了B个盖子,模拟就可以了。。。。问最多能换到多少瓶可乐,你可以不停的借盖子,但是借来的盖子你要能够偿还,不然借不到盖子

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int main()
{
	long long n,a,b;
	while(cin>>n>>a>>b)
	{
		long long ans=0;
		long long t;
		while(1)
		{
			if(n>=a)
			{
				ans+=n/a*b;
				t=n/a*b;
				n=n%a;
				n+=t;
				continue;
			}
			else
			{
				if(a-n<=b)
				{
					ans+=b;
					n=b-(a-n);
				}
				else
				{
					break;
				}
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}




你可能感兴趣的:(zoj3568 BIT1003 Exchange for Cola)