2014年百度之星程序设计大赛 - 资格赛 1001 Energy Conversion
版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/sr19930829/article/details/26003661
Energy Conversion
如今。百小度正在一个古老的石门面前。石门上有一段古老的魔法文字。读懂这样的魔法文字须要耗费大量的能量和大量的脑力。
过了许久,百小度最终读懂魔法文字的含义:石门里面有一个石盘,魔法师须要通过魔法将这个石盘旋转X度,以使上面的刻纹与天相相应,才干打开石门。
可是,旋转石盘须要N点能量值,而为了解读密文。百小度的能量值仅仅剩M点了。破坏石门是不可能的,由于那将须要很多其它的能量。只是,幸运的是,作为魔法师的百小度能够耗费V点能量,使得自己的能量变为如今剩余能量的K倍(魔法师的世界你永远不懂,谁也不知道他是怎么做到的)。
比方,如今百小度有A点能量,那么他能够使自己的能量变为(A-V)*K点(能量在不论什么时候都不能够为负。即:假设A小于V的话。就不能够运行转换)。
然而。在解读密文的过程中,百小度预支了他的智商。所以他如今不知道自己能否够旋转石盘。打开石门,你能帮帮他吗?
接下来是T行数据。每行有4个自然数N,M,V,K(字符含义见题目描写叙述);
数据范围:
T<=100
N,M,V,K <= 10^8
假设无法做到,请直接输出-1。
10 3 1 2
10 2 1 2
10 9 7 3
10 10 10000 0
-1
-1
0
解题思路:
开启大门须要n能量值,现有m能量值,有一种魔法能够消耗现有能量值里面的v能量值,那么剩下的能量值就会翻k倍,即m=(m-v)*k;
问最少须要几次魔法,才干开启大门。
关键是if else语句,把情况想的全面些。
代码:
#include <iostream>
using namespace std;
long long n,m,v,k;
bool ok;
int c;
int main()
{
int t;cin>>t;
while(t--)
{
ok=1;
c=0;
cin>>n>>m>>v>>k;
if(m<n&&m<=v)//非常明白的不合法
{
cout<<-1<<endl;
continue;
}
if(m>=n)//初始能量值大于所需能量值
{
cout<<0<<endl;
continue;
}
else
{
if(m>v)
{
int temp=m;
while(m<n)
{
m=(m-v)*k;
if(m<=temp)//本来是想要增大能量值的,结果越来越小,不合法
{
cout<<-1<<endl;
ok=0;
break;
}
c++;
}
}
else
cout<<-1<<endl;
}
if(ok)
cout<<c<<endl;
}
return 0;
}
2014年百度之星程序设计大赛 - 资格赛 1001 Energy Conversion的更多相关文章
- 2014年百度之星程序设计大赛 - 资格赛 第二题 Disk Schedule
双调欧几里得旅行商问题是一个经典动态规划问题.<算法导论(第二版)>思考题15-1和北京大学OJ2677都出现了这个题目. 旅行商问题描写叙述:平面上n个点,确定一条连接各点的最短闭合旅程 ...
- hdu 4825 Xor Sum (建树) 2014年百度之星程序设计大赛 - 资格赛 1003
题目 题意:给n个数,m次询问,每次给一个数,求这n个数里与这个数 异或 最大的数. 思路:建一个类似字典数的数,把每一个数用 32位的0或者1 表示,查找从高位向底位找,优先找不同的,如果没有不同的 ...
- 2014年百度之星程序设计大赛 - 资格赛 1004 Labyrinth(Dp)
题目链接 题目: Labyrinth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 2014年百度之星程序设计大赛 资格赛第一题 (longlong)
解题思路: 只要看(A-V)*K 这个公式的更新值是否大于等于A ,大于的话继续循环,否则报错 注意一点,数据会爆int WA代码: #include<stdio.h> int main( ...
- 2014年百度之星程序设计大赛 - 资格赛 第三题 Xor Sum
小记:艹蛋呢, 取long long的低30,32,34位都WA, 取31位才AC. .. 思路:依据求数组中两个数异或最大值.參考 代码: #include <stdio.h> #inc ...
- 2014年百度之星程序设计大赛 - 资格赛 1002 Disk Schedule(双调欧几里得旅行商问题)
Problem Description 有非常多从磁盘读取数据的需求,包含顺序读取.随机读取.为了提高效率,须要人为安排磁盘读取.然而,在现实中,这样的做法非常复杂.我们考虑一个相对简单的场景.磁盘有 ...
- 2014年百度之星程序设计大赛 - 资格赛 第一题 Energy Conversion
小记:long long %I64d 代码: #include <iostream> #include <stdio.h> #include <string.h> ...
- hdu 6082 度度熊与邪恶大魔王(2017"百度之星"程序设计大赛 - 资格赛 )
度度熊与邪恶大魔王 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- 2017"百度之星"程序设计大赛 - 复赛1001&&HDU 6144 Arithmetic of Bomb【java大模拟】
Arithmetic of Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
随机推荐
- jQuery-编辑选择结果(添加、筛选、过滤或检测)
编辑选择结果 操作 实例 效果 备注 添加 添加选择器 $("p").add(".a") 添加类名为a的选择器 并不影响源结果集 $(" ...
- ChemDraw 16最新版本发布 更效率科研的首选
ChemDraw一直是全球领先的科学绘图软件,致力于为科学家.教师以及学生提供最新的智能应用程序.ChemDraw 16版本相较于15版本做出了较大的改进,大大缩短科研时间,提高科研效率.扩展Name ...
- ubuntu zip解压
您好,zip xx.zip压缩,unzip xx.zip 解压,tar zcvf xx.tar.gz压缩tar zxvf xx.tar.gz解压
- java图形化Swing教程(一)
与多线程.泛型等不同,Swing主要在于使用. 以下主要放代码和凝视.少说话. (一)基本框架 package Swing; import java.awt.*; import javax.swing ...
- POJ 3093 Margaritas(Kind of wine) on the River Walk (背包方案统计)
题目 Description One of the more popular activities in San Antonio is to enjoy margaritas in the park ...
- Zookeeper(一)-- 简介以及单机部署和集群部署
一.分布式系统 由多个计算机组成解决同一个问题的系统,提高业务的并发,解决高并发问题. 二.分布式环境下常见问题 1.节点失效 2.配置信息的创建及更新 3.分布式锁 三.Zookeeper 1.定义 ...
- UE4射线的碰撞与绘制
http://blog.csdn.net/qq992817263/article/details/51800657 //起点 终点 FHitResult RayGetHitResult(FVector ...
- 钟意Action
package com.j1.mai.action; import com.github.pagehelper.PageInfo; import com.j1.app.mysql.model.Appr ...
- vue-学习笔记(更新中...)
vue学习笔记 2017-08-23 11:10:28 Vue实例: var vm = new Vue({ // 选项 }) 实例化Vue.Vue实例,构造函数Vue.创建一个Vue的根实例,Vue ...
- LeetCode——Invert Binary Tree
Description: Invert a binary tree. 4 / \ 2 7 / \ / \1 3 6 9 to 4 / \ 7 2 / \ ...