制作火把

时间限制 : 1.000 sec          内存限制 : 128 MB

题目描述:

小红最近在玩一个制作火把的游戏,一开始,小红手里有一根木棍,她希望能够通过这一根木棍通过交易换取制作k个火把。一个火把的制作需要消耗一根木棍和一块煤。

幸运的是,在游戏中有这样一个商人,小红可以每次在这个商人这儿进行下面两种交易中的一种交易:

- 通过1根木棍,换取得到x根木棍(即小红失去1根木棍,但能因此得到x根木棍)
- 通过y根木棍,换取得到1块煤(即小红失去y根木棍,得到1块煤)

小红可以和这个商人进行任意次的交易,现在,她需要知道,她最少需要和这个商人交易多少次才能制作出k个火把。

对于每个数据,一共有t组样例。

输入:

第一行输入一个数字t(1 ≤ t ≤ 2 x 10^4),表示数据的组数。

对于每一组数据,只有一行三个数字x,y,k(2 ≤ x ≤ 10^9,1 ≤ y,k ≤ 10^9),分别表示小红可以通过1根木棍交换得到的木棍数量,通过多少根木棍交换得到1块煤,以及小红一共需要的火把数量。

输出:

对于每一组数据,输出一个数字,表示得到k个火把最少需要的交易次数。

样例输入:

5
2 1 5
42 13 24
12 11 12
1000000000 1000000000 1000000000
2 1000000000 1000000000

样例输出:

14
33
25
2000000003
1000000001999999999

这玩意儿怎么做呢?暴力循环又会超时,对新手大大滴不友好

如果你去模拟几次就能发现,总次数=获得所需木棍次数+所需煤个数

总是要兑换那么多木棍,总是只要那些煤,那就可以将兑换二者的次数分开算

上代码

完整代码:

#include <bits/stdc++.h>
using namespace std;
long long x, y, k, t, ans=0;
long double j;
int main(){
cin>>t;
for(int i=0;i<t;i++){
cin>>x>>y>>k;
ans=0;
j=(k*y+(k-1))/(x-1);//获得所需木棍次数
ans=ceil(j)+k;//总次数=获得所需木棍次数+所需煤个数
if(ceil(j*(x-1)<k*y+(k-1)))ans++;//会有向下取整而导致答案不对的情况
cout<<ans<<endl;
}
return 0;
}

又是愉悦水题的一天~

C++:制作火把的更多相关文章

  1. 从Unity引擎过度到Unreal4引擎(最终版)

    原文地址:http://demo.netfoucs.com/u011707076/article/details/44036839 前言 寒假回家到现在已经有十多天了,这些天回家不是睡就是吃....哎 ...

  2. 次世代关卡制作流程:使用Unreal Engine 4

    大型3D游戏的关卡(或者说副本.战场)的制作有一些难点,主要是: 要求制作人员有很好的空间感.包含总体布局.对象的比例关系:把握不好的话,不单影响美观.更影响玩家的体验: 关卡制作是一个比較综合的工作 ...

  3. 【AR实验室】ARToolKit之制作自己的Marker/NFT

    0x00 - 前言 看过example后,就会想自己动动手,这里改改那里修修.我们先试着添加自己喜欢的marker/nft进行识别. 比如我做了一个法拉利的marker: 还有网上找了一个法拉利log ...

  4. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  5. 制作类似ThinkPHP框架中的PATHINFO模式功能

    一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo ...

  6. 使用Visual Studio SDK制作GLSL词法着色插件

    使用Visual Studio SDK制作GLSL词法着色插件 我们在Visual Studio上开发OpenGL ES项目时,避免不了写Shader.这时在vs里直接编辑shader就会显得很方便. ...

  7. 利用CSS中的:after、: before制作的边三角提示框

    小颖昨天分享了一篇参考bootstrap中的popover.js的css画消息弹框今天给大家再分享一篇使用:before和:after伪元素画消息弹框的CSS. 画出来是介个酱紫的: 有没有觉得画的萌 ...

  8. Photoshop将普通照片快速制作二次元漫画风格效果

    今天为大家分享Photoshop将普通照片快速制作二次元漫画风格效果,教程很不错,对于喜欢漫画的朋友可以参考本文,希望能对大家有所帮助! 一提到日本动画电影,大家第一印象肯定是宫崎骏,但是日本除了宫崎 ...

  9. 前端制作动画的几种方式(css3,js)

    制作动态的网页是是前端工程师必备的技能,很好的实现动画能够极大的提高用户体验,增强交互效果,那么动画有多少实现方式,一直对此有选择恐惧症的我就总结一下,以便在开发的时候选择最好的实现方式. 1.css ...

随机推荐

  1. java中什么叫覆盖Override?请给实例

    5.覆盖(Override) 马克-to-win:方法的覆盖(Override)是指子类重写从父类继承来的一个同名方法(参数.返回值也同). 例1.5.1-- class AAAMark_to_win ...

  2. JavaScript遍历表单元素

    运行效果: 源代码: 1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta char ...

  3. 针对form表单赋值封装

    1 (function ($){ 2 $.fn.extend({ 3 exajax:function(url,opts,convert){ 4 var ajaxParam = { 5 url:url, ...

  4. GitHub Pages + Hexo搭建个人博客网站-github风格-采坑记录

    目录 1.本机安装nodejs 2.github上创建仓库 3.安装hexo 4.hexo主题 5.配置主题 6.添加文章 7.使用分类和标签 8.增加文章目录 9.推送github 使用github ...

  5. OllyDbg---寄存器

    寄存器 寄存器的概念和作用 寄存器是CPU内部的高速存储单元,访问速度比常规内存快很多. 处理器在执行程序时,需要一个助手,当执行一条指令时,比如将两个内存单元中存放的内容相加,处理器需要先把其中一个 ...

  6. Hash-题解-方法

    有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = "nagar ...

  7. 导出带标签的tar包(docker)-解决导出不带标签的麻烦

    需求:在docker的本地镜像库中导出tar包给其他节点使用. 如果使用:docker save -o package.tar e82656a6fc 这样形式导出的tar包,安装之后标签会消失解决办法 ...

  8. 羽夏壳世界—— PE 结构(上)

    羽夏壳世界之 PE 结构(上),介绍难度较低的基本 PE 相关结构体.

  9. Java学习day11

    如果程序出现了问题,我们没有做任何处理,JVM会做默认处理,即:把异常的名称,原因和位置等信息输出在控制台,程序停止执行 一个简单的检测集合对象是否含有某元素,有就再添加一个某元素 public cl ...

  10. Educational Codeforces Round 119 (Div. 2), (C) BA-String硬着头皮做, 能做出来的

    题目链接 Problem - C - Codeforces 题目 Example input 3 2 4 3 a* 4 1 3 a**a 6 3 20 **a*** output abb abba b ...