C++:制作火把
制作火把
时间限制 : 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++:制作火把的更多相关文章
- 从Unity引擎过度到Unreal4引擎(最终版)
		原文地址:http://demo.netfoucs.com/u011707076/article/details/44036839 前言 寒假回家到现在已经有十多天了,这些天回家不是睡就是吃....哎 ... 
- 次世代关卡制作流程:使用Unreal Engine 4
		大型3D游戏的关卡(或者说副本.战场)的制作有一些难点,主要是: 要求制作人员有很好的空间感.包含总体布局.对象的比例关系:把握不好的话,不单影响美观.更影响玩家的体验: 关卡制作是一个比較综合的工作 ... 
- 【AR实验室】ARToolKit之制作自己的Marker/NFT
		0x00 - 前言 看过example后,就会想自己动动手,这里改改那里修修.我们先试着添加自己喜欢的marker/nft进行识别. 比如我做了一个法拉利的marker: 还有网上找了一个法拉利log ... 
- Unity3d学习 制作地形
		这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ... 
- 制作类似ThinkPHP框架中的PATHINFO模式功能
		一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo ... 
- 使用Visual Studio SDK制作GLSL词法着色插件
		使用Visual Studio SDK制作GLSL词法着色插件 我们在Visual Studio上开发OpenGL ES项目时,避免不了写Shader.这时在vs里直接编辑shader就会显得很方便. ... 
- 利用CSS中的:after、: before制作的边三角提示框
		小颖昨天分享了一篇参考bootstrap中的popover.js的css画消息弹框今天给大家再分享一篇使用:before和:after伪元素画消息弹框的CSS. 画出来是介个酱紫的: 有没有觉得画的萌 ... 
- Photoshop将普通照片快速制作二次元漫画风格效果
		今天为大家分享Photoshop将普通照片快速制作二次元漫画风格效果,教程很不错,对于喜欢漫画的朋友可以参考本文,希望能对大家有所帮助! 一提到日本动画电影,大家第一印象肯定是宫崎骏,但是日本除了宫崎 ... 
- 前端制作动画的几种方式(css3,js)
		制作动态的网页是是前端工程师必备的技能,很好的实现动画能够极大的提高用户体验,增强交互效果,那么动画有多少实现方式,一直对此有选择恐惧症的我就总结一下,以便在开发的时候选择最好的实现方式. 1.css ... 
随机推荐
- 【vue 开发】Vue中splice的使用
			splice(index,len,[item])它也可以用来替换/删除/添加数组内某一个或者几个值(该方法会改变原始数组) index:数组开始下标 len: 替换/删除的长度 item:替换的值,删 ... 
- MapReduce在集群执行任务时报错:Initialization of all the collectors failed. Error in last collector was:java.lang.ClassCastException
			报错信息详细: Error: java.io.IOException: Initialization of all the collectors failed. Error in last colle ... 
- java中方法重载是什么, 实际中到底有什么意义, 用处?请举例
			7.3 方法重载(overload) 当几个方法有相同的方法名,但参数个数不同或参数类型不同时,就涉及方法重载 方法重载有什么意义呢?在公司里编程,有时候一个方法名,要用到很多次,而且每次跟每次的参 ... 
- 安卓电池健康查看软件AccuBattery   分享
			一.天下苦秦久矣 说实话,我是小米的忠实粉丝(雷总打钱),手里目前是红米k30pro标准版, 室友中有用华为也有苹果的,据我所知苹果系统是可以看到电池健康的,但是安卓却不行, 所以推荐大家一个安卓软件 ... 
- 爬虫---scrapy全站爬取
			全站爬取1 基于管道的持久化存储 数据解析(爬虫类) 将解析的数据封装到item类型的对象中(爬虫类) 将item提交给管道, yield item(爬虫类) 在管道类的process_item中接手 ... 
- Intel主板芯片组
			写这个的初衷还是由于linux内核本身就是硬件的抽象,如果你对硬件的相关发展,机制以及架构不了解,实际你也是看不懂linux内核代码以及看不懂linux很多命令输出的结果的,如果你看内核代码就会发现内 ... 
- 『现学现忘』Git基础 — 1、版本控制系统介绍
			在具体了解Git之前,首先需要我们了解一下VCS,即版本控制系统(version control system) 1.什么是版本控制系统 版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版 ... 
- 痞子衡嵌入式:聊聊系统看门狗WDOG1在i.MXRT1xxx系统启动中的应用及影响
			大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是系统看门狗WDOG1在i.MXRT1xxx系统启动中的应用及影响. 软件看门狗模块(WDOG)在 MCU 应用里可以说是非常基础的功能模 ... 
- XCTF练习题---MISC---simple_transfer
			XCTF练习题---MISC---simple_transfer flag:HITB{b3d0e380e9c39352c667307d010775ca} 解题步骤: 1.观察题目,下载附件 2.经过观 ... 
- SpringBoot详解
			1.Hello,World! 1.1.SpringBoot简介 回顾什么是Spring Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson . ... 
