第二届太原理工大学程序设计新生赛决赛-(Cappuccino ~ the end of journey-M)简单模拟

题目描述
经过一番旅途,Vanis回到了原来的世界,现在他只想给自己倒几杯卡布奇诺 (cappuccino)。

商店街有一家咖啡厅,提供两种购买卡布奇诺的方式:

  1. 支付a元,获得1杯卡布奇诺。
  2. 支付b元,获得c杯卡布奇诺。

现在Vanis有d元,并且可以无限次任意选择购买方案(只要他的钱还足够),他想知道最多能买几杯卡布奇诺。

输入描述:
第一行输入四个正整数a,\ b,\ c,\ da, b, c, d,相邻整数之间使用一个空格符分隔,含义同题目描述。

数据规范:

  • 1 \le a,b,c,d \le 1001≤a,b,c,d≤100.
    输出描述:
    输出一个整数,表示Vanis最多能够购买的卡布奇诺杯数。
    示例1
    输入
    复制
    3 10 3 12
    输出
    复制
    4
    说明
    3元1杯,10元3杯。Vanis选择4次方案1,可以得到4杯卡布奇诺。如果他选择了方案2,则只能购买3杯,因为剩下的2元钱不足以让他再选择任何方案,显然这样不是最多购买数。
    题意思路:比较简单如题面所知,只要是想记录一下比较简洁的一个代码思路吧,比赛那个打的太麻烦了。
    代码:
#include<bits/stdc++.h>
using namespace std;
int main ()
{
    ios::sync_with_stdio(false);
    int a,b,c,d;
    cin>>a>>b>>c>>d;
    int t1=b/c;
    int ans=0;
    if(a<=t1){//两种方式比较谁用的钱少,就先用谁,剩下的钱去花另一种,主要注意一下“取余”可以简洁很多。
        ans=ans+d/a+((d%a)/b)*c;
    }
    else{
        ans=ans+(d/b)*c+(d%b)/a;
    }
    cout<<ans<<endl;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值