博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Uva 846 - Steps
阅读量:5929 次
发布时间:2019-06-19

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

Steps

One steps through integer points of the straight line.  The length of a step must be nonnegative and can be by one bigger than, equal to, or  by one smaller than the length of the previous step.

What is the minimum number of steps in order to get from x to y?       

The length of the first and the last step must be 1.

Input and Output

Input consists of a line containing n, the number of test cases.  For each test case, a line follows with two integers:  0$ \le$x$ \le$y < 231. For each test case, print a line giving the minimum number of steps to get from x to y.

Sample Input

345 4845 4945 50

Sample Output

334

Miguel Revilla 2002-06-15
 
#include
#include
#include
int main(){ int T, start, end, mid, leave, n, temp, sum; scanf("%d", &T); while(T--) { scanf("%d%d", &start, &end); leave = (end-start)%2; mid = (end-start)/2; n = (int)floor(sqrt(2.0*mid)); if(n*(n+1)/2 - mid != 0) { if(n*(n+1)/2 - mid > 0) n--; temp = mid - n*(n+1)/2; sum = 2*n; if(leave) { if(temp*2+1 <= n+1) sum++; else if(temp+1 <= n+1 || temp*2 <= n+1 ) sum += 2; else sum += 3; } else { if(temp*2 <= n+1) sum++; else sum += 2; } } else sum = 2*n+leave; printf("%d\n", sum); } return 0;}

解题报告:

转载于:https://www.cnblogs.com/liaoguifa/archive/2013/03/03/2941657.html

你可能感兴趣的文章
上下文切换详解
查看>>
《python 与数据挖掘 》一 2.6 上机实验
查看>>
社会化海量数据采集爬虫框架搭建
查看>>
《像计算机科学家一样思考Python(第2版)》——1.9 练习
查看>>
《.NET程序员面试秘笈》----面试题7 构造函数有什么作用
查看>>
django 引入静态文件问题
查看>>
SQL Server内存数据库原理解析
查看>>
JVM调优总结
查看>>
业务安全通用解决方案——WAF数据风控
查看>>
程序猿日记S01E06-共识机制
查看>>
ElasticSearch Aggregations 分析
查看>>
[PHP] curl CURLOPT_TIMEOUT_MS 小于1秒 解决方案
查看>>
JVM源码分析之不可控的堆外内存
查看>>
Navicate (数据库客户端)
查看>>
Flink 原理与实现:理解 Flink 中的计算资源
查看>>
利用C语言制作网站
查看>>
Java学习路线图
查看>>
Sed&awk笔记之sed篇:高级命令(一)
查看>>
1.3一摞烙饼的排序
查看>>
网狐棋牌游戏平台服务器架构设计分析[转]
查看>>