博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cf 11B Jumping Jack(贪心,数学证明一下,,)
阅读量:5050 次
发布时间:2019-06-12

本文共 444 字,大约阅读时间需要 1 分钟。

题意:

给一个数X。

起始点为坐标0。第1步跳1格,第2步跳2格,第3步跳3格,.....以此类推。

每次可以向左跳或向右跳。

问最少跳几步可以到坐标X。

 

思路:

假设X是正数。

最快逼近X的方法是不停向右走。如果越过了X,假设到了X1,则必有X1-X小于最后一步d。

如果X1-X是偶数,将之前的某个x变为-x。则可以到X。

如果X1-X是奇数,因为将之前的某个x变为-x,实际是后退2x格。所以必定要再向右走一步。直到X1-X是偶数。(其实只要走一步或两步)

X是负数的情况和X是正数的情况一样。

 

代码:

ll  x,d;int main(){    cin>>x;    if(x==0){        puts("0");        return 0;    }    if(x<0){        x=-x;    }    d=1;    while(d*(d+1)/2

 

转载于:https://www.cnblogs.com/fish7/p/4309563.html

你可能感兴趣的文章
dpkg 删除 百度网盘 程序
查看>>
服务器nginx安装
查看>>
浏览器的DNS缓存查看和清除
查看>>
浏览器跨域问题
查看>>
pytho logging
查看>>
一个Java程序员应该掌握的10项技能
查看>>
c#英文大小写快捷键
查看>>
tpframe免费开源框架又一重大更新
查看>>
什么是架构设计
查看>>
程序员学习能力提升三要素
查看>>
PHP 微信错误状态返回码说明
查看>>
【4.1】Python中的序列分类
查看>>
ubuntu 移动文件
查看>>
Easy Mock
查看>>
看看 Delphi XE2 为 VCL 提供的 14 种样式
查看>>
Python内置函数(29)——help
查看>>
机器学习系列-tensorflow-01-急切执行API
查看>>
《架构之美》阅读笔记05
查看>>
《大道至简》读后感——论沟通的重要性
查看>>
JDBC基础篇(MYSQL)——使用statement执行DQL语句(select)
查看>>