Energy Conversion

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 7787    Accepted Submission(s): 1894

Problem Description

  魔法师百小度也有遇到难题的时候——  如今,百小度正在一个古老的石门面前,石门上有一段古老的魔法文字,读懂这样的魔法文字须要耗费大量的能量和大量的脑力。  过了许久。百小度最终读懂魔法文字的含义:石门里面有一个石盘,魔法师须要通过魔法将这个石盘旋转X度,以使上面的刻纹与天相相应。才干打开石门。

  可是,旋转石盘须要N点能量值,而为了解读密文,百小度的能量值仅仅剩M点了!

破坏石门是不可能的,由于那将须要很多其它的能量。

只是,幸运的是,作为魔法师的百小度能够耗费V点能量。使得自己的能量变为如今剩余能量的K倍(魔法师的世界你永远不懂。谁也不知道他是怎么做到的)。

比方。如今百小度有A点能量,那么他能够使自己的能量变为(A-V)*K点(能量在不论什么时候都不能够为负。即:假设A小于V的话,就不能够运行转换)。  然而,在解读密文的过程中。百小度预支了他的智商。所以他如今不知道自己能否够旋转石盘,打开石门。你能帮帮他吗?

 

Input

  输入数据第一行是一个整数T。表示包括T组測试例子;  接下来是T行数据,每行有4个自然数N,M,V,K(字符含义见题目描写叙述);  数据范围:  T<=100  N,M,V,K <= 10^8

 

Output

  对于每组数据。请输出最少做几次能量转换才可以有足够的能量点开门。  假设无法做到。请直接输出-1。

 

Sample Input

4

10 3 1 2

10 2 1 2

10 9 7 3

10 10 10000 0

 

Sample Output

3

-1

-1

0

题解:

一道比較水的题。依据递推式直接模拟就可以。WA好几次,開始直接分情况推导公式。

#include<iostream>
using namespace std; int main()
{
__int64 n,m,k,v,ans;
int cas;
cin>>cas;
while(cas--)
{
scanf("%I64d%I64d%I64d%I64d",&n,&m,&v,&k);
if(n==m)
ans=0;
__int64 tn=n,tm=m;
__int64 count=0;
while(tn>tm)
{
if(tm<v||(tm-v)*k<=tm)
{
ans=-1;
break;
}
tm=(tm-v)*k;
count++;
}
if(tn<=tm)
ans=count;
else ans=-1;
printf("%I64d\n",ans);
}
return 0;
}

2014百度之星第一题Energy Conversion的更多相关文章

  1. 2014百度之星资格赛 1001:Energy Conversion(水题,逻辑题)

    Energy Conversion Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  2. 2014年百度之星资格赛第一题Energy Conversion

    Problem Description 魔法师百小度也有遇到难题的时候-- 如今.百小度正在一个古老的石门面前,石门上有一段古老的魔法文字,读懂这样的魔法文字须要耗费大量的能量和大量的脑力. 过了许久 ...

  3. 2014年百度之星程序设计大赛 - 资格赛 第一题 Energy Conversion

    小记:long long %I64d 代码: #include <iostream> #include <stdio.h> #include <string.h> ...

  4. 2014百度之星第二题Disk Schedule(双调欧几里得旅行商问题+DP)

    Disk Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To ...

  5. 2014百度之星预赛(第二场)——Best Financing

    2014百度之星预赛(第二场)--Best Financing Problem Description 小A想通过合理投资银行理財产品达到收益最大化.已知小A在未来一段时间中的收入情况,描写叙述为两个 ...

  6. ACM-百度之星资格赛之Energy Conversion——hdu4823

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/lx417147512/article/details/26400079 Energy Convers ...

  7. 2014百度之星资格赛——Disk Schedule

    2014百度拥有明星格比赛--Disk Schedule Problem Description 有非常多从磁盘读取数据的需求,包含顺序读取.随机读取. 为了提高效率.须要人为安排磁盘读取. 然而.在 ...

  8. 2014 百度之星 题解 1004 Labyrinth

    Problem Description 度度熊是一仅仅喜欢探险的熊,一次偶然落进了一个m*n矩阵的迷宫,该迷宫仅仅能从矩阵左上角第一个方格開始走,仅仅有走到右上角的第一个格子才算走出迷宫,每一次仅仅能 ...

  9. 2014百度之星初赛第二场hdu 4831 Scenic Popularity

    Scenic Popularity Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

随机推荐

  1. css调整图片位置布局

    <?xml version="1.0" encoding="utf-8"?><!DOCTYPE wml PUBLIC "-//WAP ...

  2. iOS debug release

    去掉日志 #ifndef __OPTIMIZE__ #define NSLog(...) NSLog(__VA_ARGS__) #else #define NSLog(...){} #endif 打开 ...

  3. Microsoft® SQL Server® 2008 Express with Tools

    https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=22973

  4. EL表达式学习笔记

     转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6684424.html  一:EL表达式的用途 1.获取数据:(某个web域 中的对象,访问javabean的 ...

  5. 【Thinking in Java】读书笔记

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6480258.html 第三章:操作符 1:基本数据类型的比较用 ==.!=,引用类型的==.!=是针对地址的比 ...

  6. Flash XSS 漏洞详解 根治的好办法

    本文的目的是深层次的分析Flash的ExternalInterface的XSS漏洞,并提出比较有效的解决方案.   首先,我们看看什么情况下,会出现XSS.   第一种情况:        把flas ...

  7. 〖Android〗存在多个Android设备时,使用Shell脚本选择一个Android设备

    Shell脚本: #!/bin/bash devices=( $(adb devices|grep device$|awk '{print $1}'|xargs echo) ) case ${#dev ...

  8. Ubuntu18.04下编译安装Guitarix 0.37.3

    准备工作 源文件下载 https://sourceforge.net/projects/guitarix/files/guitarix/ 安装依赖. 参考 https://sourceforge.ne ...

  9. Dynamics CRM 2015 Update 1 系列(4): 自己定义主键 - Alternate Keys

    Alternate Keys. 还是和系统集成相关的一个重量级Feature.使用该Feature能极大的提高开发数据集成接口的时间成本以及接口的执行效率. 在之前的Dynamics CRM 版本号中 ...

  10. tensorflow动态设置trainable

    tensorflow中定义的tf.Variable时,可以通过trainable属性控制这个变量是否可以被优化器更新.但是,tf.Variable的trainable属性是只读的,我们无法动态更改这个 ...