杭电acm 4823Energy Conversion(水题)
Energy Conversion
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1580 Accepted Submission(s): 633
现在,百小度正在一个古老的石门面前,石门上有一段古老的魔法文字,读懂这种魔法文字需要耗费大量的能量和大量的脑力。
过了许久,百小度终于读懂魔法文字的含义:石门里面有一个石盘,魔法师需要通过魔法将这个石盘旋转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。
#include<string.h>
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
long long n,m,v,k;
scanf("%lld%lld%lld%lld",&n,&m,&v,&k);
long long yy=m;
if(n<=m)
{
printf("0\n");
continue;
}
if(m-v<=0||k<=0)
{
printf("-1\n");
continue;
}
int count=0;
int flag=0;
while(m<n)
{
if(m-v>=0)
m=(m-v)*k;
//printf("%d %d\n",m,yy);
if(yy>=m)
{
flag=1;
break;
}
else
yy=m;
count++;
}
//printf("%d\n",flag);
if(flag==1) printf("-1\n");
else printf("%d\n",count);
}
return 0;
}
杭电acm 4823Energy Conversion(水题)相关推荐
- 杭电acm的第1000题c语言解法
首先我选择的是c语言的解法,开始是输入如下的答案: #include "stdio.h" int main(void) { long long a,b; scanf("% ...
- 杭电acm第2304题答案c语言,【转】杭电ACM试题分类
注:网上搜的 第一篇 1001 这个就不用说了吧 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 ...
- 杭电acm2151题java的解法,杭电ACM题型分类
杭电ACM题型分类 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.1032.1037.1040.1048.1 ...
- 杭电ACM刷题(1):1002,A + B Problem II
最近忙于考试复习,没有多少可供自己安排的时间,所以我利用复习之余的空闲时间去刷刷杭电acm的题目,也当对自己编程能力的锻炼吧. Problem Description I have a very si ...
- 杭电ACM(HDUOJ)试题分类
杭电ACM试题分类 第一篇 1001 这个就不用说了吧 1002 简单的大数 1003 DP经典问题,最 ...
- 杭电ACM题目类型整理
版权声明:(╯3╰) 转载请注明: http://blog.csdn.net/bat67 杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 10 ...
- 【杭电ACM】1097 A hard puzzle
[杭电ACM]1097 A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid=1097 先用int手写了算法结果竟然wrong answer ...
- 杭电acm a+b问题
杭电acm 1000 a+b问题代码 int main() { int a,b; for(;~scanf("%d%d",&a,&b);printf("%d ...
- 杭电计算机复试面试题库,杭电电子分院历年复试题(整理版)
杭电电子分院历年复试题(整理版) 这个是我自己整理的,希望大家喜欢... 06年的 1.名词解释: CDMASOCDSPVHDL3G 2.写出3种以上的EDA开发工具,年并说明其特点 3.有2个单刀双 ...
最新文章
- 禁止输入emoji表情
- dex文件结构(一):dex文件结构
- WindowsPE 第七章 资源表
- mongo数据库数据迁移到muysql数据库
- tar ------ linux解压 tar命令
- GitHub真把代码冰封北极1000年!
- IBM heapAnalyzer
- 全球首款采用离心风扇/90Hz刷新率的电竞手机红魔3发布
- 查看计算机80端口,电脑win10 80端口被占用的检测和解决方法
- 从零开始学习jQuery-------jQuery元素选择器(三)
- 20 万台 QQ 服务器全面上云!
- 深掘工业互联网大数据五大维度
- bpmn js 生成json_js处理的8种跨域方法
- 使用DataV制作实时销售数据可视化大屏
- 定点补码加减法运算_定点整数的加减法
- 微信html5线上卡券,16.7.1HTML5网页领取卡券
- 网站安全防护措施有哪些
- MGR新加节点一直recovering故障解决
- PPT超实用的23个快捷键
- matlab时频分析代码