螺旋折线

题目描述
如图p1.pgn所示的螺旋折线经过平面上所有整点恰好一次。
对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。

例如dis(0, 1)=3, dis(-2, -1)=9

给出整点坐标(X, Y),你能计算出dis(X, Y)吗?

【输入格式】
X和Y

对于40%的数据,-1000 <= X, Y <= 1000
对于70%的数据,-100000 <= X, Y <= 100000
对于100%的数据, -1000000000 <= X, Y <= 1000000000

【输出格式】
输出dis(X, Y)

【输入样例】
0 1

【输出样例】
3

资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
不要使用package语句。不要使用jdk1.7及以上版本的特性。
主类的名字必须是:Main,否则按无效代码处理。

import java.util.Scanner;public class Main {static int x, y;static int df = 0;public static void main(String[] args) {Scanner in = new Scanner(System.in);x = in.nextInt();y = in.nextInt();if (x > 0 && y >= 0) {int dx = Math.max(x, y);int dy = dx;df = (dx + dy) * (dx + dy);if (x < dx) {df -= (dx - x);}if (y < dy) {df += (dy - y);}} else if (x >= 0 && y < 0) {int dx = Math.max(Math.abs(x), Math.abs(y));int dy = -dx;df = (dx + Math.abs(dy)) * (dx + Math.abs(dy) + 1);if (x < dx) {df += (dx - x);}if (y > dy) {df -= (y - dy);}} else if (x < 0 && y <= 0) {int dx = -Math.max(Math.abs(x), Math.abs(y));int dy = dx + 1;df = (Math.abs(dx) + Math.abs(dy)) * (Math.abs(dx) + Math.abs(dy));if (x > dx) {df -= (x - dx);}if (y > dy) {df += (y - dy);}} else  if (x <= 0 && y > 0) {int dx = -Math.max(Math.abs(x), Math.abs(y));int dy = -dx;df = (Math.abs(dx) + Math.abs(dy)) * (Math.abs(dx) + Math.abs(dy) - 1);if (x > dx) {df += (x - dx);}if (y < dy) {df -= (y - dy);}}System.out.println(df);}
}

Java实现第九届蓝桥杯螺旋折线相关推荐

  1. 第九届蓝桥杯 螺旋折线

    标题:螺旋折线 如图p1.png所示的螺旋折线经过平面上所有整点恰好一次. 对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度. 例如dis(0, ...

  2. Java实现第九届蓝桥杯小朋友崇拜圈

    小朋友崇拜圈 题目描述 班里N个小朋友,每个人都有自己最崇拜的一个小朋友(也可以是自己). 在一个游戏中,需要小朋友坐一个圈, 每个小朋友都有自己最崇拜的小朋友在他的右手边. 求满足条件的圈最大多少人 ...

  3. Java实现第九届蓝桥杯付账问题

    付账问题 题目描述 [题目描述] 几个人一起出去吃饭是常有的事.但在结帐的时候,常常会出现一些争执. 现在有 n 个人出去吃饭,他们总共消费了 S 元.其中第 i 个人带了 ai 元.幸运的是,所有人 ...

  4. Java实现第九届蓝桥杯快速排序

    快速排序 以下代码可以从数组a[]中找出第k小的元素. 它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的. 请仔细阅读分析源码,填写划线部分缺失的内容. package bb; impor ...

  5. Java实现第九届蓝桥杯第几天

    第几天 题目描述 2000年的1月1日,是那一年的第1天. 那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数,不要填写任何多余内容. import java.util.Cal ...

  6. Java实现第九届蓝桥杯三体攻击

    三体攻击 [题目描述] 三体人将对地球发起攻击.为了抵御攻击,地球人派出了 A × B × C 艘战舰,在太空中排成一个 A 层 B 行 C 列的立方体.其中,第 i 层第 j 行第 k 列的战舰(记 ...

  7. Java实现第九届蓝桥杯字母阵列

    字母阵列 题目描述 仔细寻找,会发现:在下面的8x8的方阵中,隐藏着字母序列:"LANQIAO". SLANQIAO ZOEXCCGB MOAYWKHI BCCIPLJQ SLAN ...

  8. java实现第九届蓝桥杯三角形面积

    三角形面积 小明最近在玩一款游戏.对游戏中的防御力很感兴趣. 我们认为直接影响防御的参数为"防御性能",记作d,而面板上有两个防御值A和B,与d成对数关系,A=2^d,B=3^d( ...

  9. Java实现第九届蓝桥杯哪天返回

    哪天返回 题目描述 小明被不明势力劫持.后被扔到x星站再无问津.小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文. 他决定在x星战打工.好心的老板答应包食宿,第1天给他1元钱. 并且 ...

最新文章

  1. linux shell 基础 使用日志与心得
  2. 乐高ev3搭建图_乐高EV3作品|机械夹子(二)
  3. Stimulsoft Reports.Net基础教程(九):创建图表报表①
  4. Javascript高级调试——console.table()
  5. 畅通工程再续_MST(hdu 1875)
  6. oracle 非GBK字符集编码的汉字排序
  7. SQL with(nolock)详解
  8. 软件测试性能测试结果,软件性能测试结果分析工具的研究与设计
  9. 【bzoj1044】[HAOI2008]木棍分割 二分+dp
  10. 设计模式-观察者模式 发布/订阅模式
  11. python书籍推荐-Python爬虫开发与项目实战
  12. 记录使用 Golang math/rand 随机数遇到的坑
  13. poj1066--Treasure Hunt(规范相交)
  14. 数据结构(6)----栈与队列之栈的链式存储结构及其实现
  15. paip.提升用户体验----- 密码控件的使用
  16. 2018年华尔街高盛、花旗等投行业绩创新高!
  17. C语言 逻辑运算符及其优先级
  18. Select at least one project的解决方法
  19. [SOC]clock与reset设计
  20. 微信开放平台开发者认证

热门文章

  1. Java-PTA USB接口的定义
  2. 【过关斩将】如何在工作中提高沟通能力?
  3. UVa1647 Computer Transformation
  4. 免费的编程中文书籍索引
  5. 教你怎么批量查询快递单号,一学就会
  6. python做表格教程_表格函数教程
  7. Win系统 - Windows下的沙盒运行模式,竟然这么有用?!
  8. uni-app的学习之路
  9. 正负数在计算机中的表示(原码反码补码)及位运算
  10. 博导谈寒门子弟上大学:要相信双一流大学没有“废物”!