博客
关于我
A. Cheap Travel
阅读量:533 次
发布时间:2019-03-09

本文共 725 字,大约阅读时间需要 2 分钟。

为了解决这个问题,我们需要计算Ann购买足够的地铁票以覆盖她计划乘坐的车次数的最小花费。我们可以采用以下方法来找到最优解:

方法思路

Ann有三种购买车票的选择:

  • 全买单独票:每次单独票的价格是 a 卢比。
  • 全买 m 次票:每次 m 次票的价格是 b 卢比。
  • 混合购买:尽可能多地买 m 次票,然后用单独票补上剩下的车次数。
  • 具体步骤如下:

  • 计算全买单独票的总花费。
  • 计算全买 m 次票的总花费。
  • 计算混合购买的总花费,即买尽可能多的 m 次票,再用单独票补上剩下的车次数。
  • 然后比较这三种情况,取最小值作为最优解。

    解决代码

    n, m, a, b = map(int, input().split())total1 = n * atotal2 = ((n + m - 1) // m) * bk = n // mr = n % mtotal3 = k * b + r * aprint(min(total1, total2, total3))

    代码解释

  • 读取输入:从标准输入读取四个整数 n, m, a, b,分别表示需要乘坐的地铁次数、每次 m 次票的车次数、单独票的价格和 m 次票的价格。
  • 计算全买单独票的总花费total1 = n * a
  • 计算全买 m 次票的总花费:使用 ((n + m - 1) // m) 计算需要购买的 m 次票次数,然后乘以 b
  • 计算混合购买的总花费:先计算能买的 m 次票次数 k = n // m,剩下的车次数 r = n % m,然后计算总花费 total3 = k * b + r * a
  • 输出最小值:比较三种情况的总花费,输出最小值。
  • 这种方法确保了我们考虑了所有可能的购买策略,从而找到最优解。

    转载地址:http://vboiz.baihongyu.com/

    你可能感兴趣的文章
    Qt笔记——QMutex&QWaitCondition处理生产者消费者模式
    查看>>
    Qt笔记——QLable+QPixmap图片缩放踩坑
    查看>>
    Qt笔记——foreach与forever
    查看>>
    QT程序怎么挪到Linux下,linux+Qt程序如何打包发布
    查看>>
    Qt知识:视图框架QGraphicsWidget详解
    查看>>
    SpringBoot中项目启动及定时任务缓存数据库常用数据至内存变量并转换后高频调用
    查看>>
    Qt知识: 画刷风格
    查看>>
    QT的OpenGL渲染窗QOpenGLWidget Class
    查看>>
    QT的C++程序加载动态链接库DLL(Linux下是so)的方式
    查看>>
    QT界面操作1:如何跟踪鼠标位置?
    查看>>
    Qt环境搭建(Visual Studio)
    查看>>
    QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)...
    查看>>
    QT样式表——url路径
    查看>>
    QT数据库(三):QSqlQuery使用
    查看>>
    QT教程5:消息框
    查看>>
    SpringBoot中集成阿里开源缓存访问框架JetCache实现声明式实例和方法缓存
    查看>>
    pom.xml中提示web.xml is missing and <failonmissingw>...
    查看>>
    Pomelo开发中Web客户端开发API简介
    查看>>
    QT教程2:QT5的体系构架
    查看>>
    PON架构(全光网络)
    查看>>