当前位置: 首页 > wzjs >正文

最靠谱的购物网站百度的企业网站

最靠谱的购物网站,百度的企业网站,网站链接的基本形式,做影视网站会侵权犯法吗螺旋折线 题目描述 如下图所示的螺旋折线经过平面上所有整点恰好一次。 对于整点 (X,Y)(X,Y),我们定义它到原点的距离 dis(X,Y)dis(X,Y) 是从原点到 (X,Y)(X,Y) 的螺旋折线段的长度。 例如 dis(0,1)3,dis(−2,−1)9dis(0,1)3,dis(−2,−1)9。 给出整点坐标 (X,Y…

螺旋折线

题目描述

如下图所示的螺旋折线经过平面上所有整点恰好一次。

对于整点 (X,Y)(X,Y),我们定义它到原点的距离 dis(X,Y)dis(X,Y) 是从原点到 (X,Y)(X,Y) 的螺旋折线段的长度。

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

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

输入描述

输入格式:

输入一行,XX 和 YY ,−109≤X,Y≤109−109≤X,Y≤109。

输出描述

输出 dis(X,Y)dis(X,Y)。

输入输出样例

示例

输入

0 1

输出

3

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

总通过次数: 1966  |  总提交次数: 2580  |  通过率: 76.2%

难度: 中等   标签: 2018, 思维, 省赛

方法思路

题目要求计算螺旋折线上任意点 (X, Y) 到原点的折线长度。螺旋折线从原点 (0,0) 开始,以逆时针方向向外螺旋扩展。通过观察螺旋折线的规律,我们可以将问题分解为以下步骤:

  1. 确定点所在的层数:螺旋折线可以看作由多个正方形环组成,每个环对应一个层数。点 (X, Y) 所在的层数 n 是 |X| 和 |Y| 中的最大值,即 n = max(|X|, |Y|)

  2. 计算内层环的总长度:对于层数 n,所有内层环(即从第 0 层到第 n-1 层)的总长度是 4 * n * n(因为每个环的周长递增,内层环的总长度公式推导为 4n²)。

  3. 计算当前点在当前层的长度

    • 如果 X >= Y,则点在当前层中满足一定条件,长度增加 |X - n| + |Y - n|

    • 如果 X < Y,则点在当前层中满足另一条件,长度减少 |X - n| + |Y - n|

      #include <iostream>
      #include <cmath>
      #include <algorithm>
      using namespace std;
      typedef long long LL;int main() {LL x, y;cin >> x >> y;LL n = max(abs(x), abs(y));  // 确定点所在的层数if (x >= y) {// 点在当前层中满足 X >= Ycout << 4 * n * n + abs(x - n) + abs(y - n) << endl;} else {// 点在当前层中满足 X < Ycout << 4 * n * n - abs(x - n) - abs(y - n) << endl;}return 0;
      }

      代码解释

    • 输入处理:读取整数坐标 x 和 y

    • 确定层数:计算 n = max(|x|, |y|),表示点 (x, y) 所在的螺旋层。

    • 示例验证

    • 输入 (0, 1)n = max(0, 1) = 10 < 1,所以输出 4 * 1 * 1 - |0-1| - |1-1| = 4 - 1 - 0 = 3

    • 输入 (-2, -1)n = max(2, 1) = 2-2 < -1,所以输出 4 * 2 * 2 - | -2-2| - | -1-2| = 16 - 4 - 3 = 9

    • 输入 (1, 0)n = max(1, 0) = 11 >= 0,所以输出 4 * 1 * 1 + |1-1| + |0-1| = 4 + 0 + 1 = 5

    • 计算距离

      • 内层环总长度4 * n * n 表示所有内层环的折线总长度。

      • 当前层偏移量

        • 如果 x >= y,点在当前层的偏移量是 abs(x - n) + abs(y - n),因此总长度为 4 * n * n + abs(x - n) + abs(y - n)

        • 如果 x < y,点在当前层的偏移量是 - (abs(x - n) + abs(y - n)),因此总长度为 4 * n * n - abs(x - n) - abs(y - n)

    • 输出结果:根据上述条件计算并输出点 (x, y) 到原点的螺旋折线长度。

http://www.dtcms.com/wzjs/389141.html

相关文章:

  • c 视频播放网站开发网站怎样优化关键词好
  • 和平区网站建设武汉网站排名提升
  • 网站开发获客渠道seo文章外包
  • wordpress调用图标谷歌推广seo
  • 如何查看网站开发者金阊seo网站优化软件
  • 网站建设哪个好一些江西短视频seo搜索报价
  • 做物品租赁网站小学生简短小新闻
  • 个人网站建设方案实施汕头网站快速优化排名
  • 在川航网站购票后怎么做最好用的手机优化软件
  • 在网站制作完成后网站建设怎么做竞价托管
  • 软件网站怎么做网站建设网络推广平台
  • 中卫网站设计厂家海淀区seo多少钱
  • 做网站背景步骤全渠道营销
  • 大连市中小企业做网站政府补贴烟台百度推广公司
  • 2023新闻大事10条网站内容seo
  • 国内网站服务器国外免费源码共享网站
  • 大学校园门户网站建设舆情优化公司
  • 顶尖网站建设关键词快速排名软件价格
  • 成都疫情最新通知如何做seo优化
  • 外贸网站网站推广大专网络营销专业好不好
  • lnmp怎么做网站企业排名优化公司
  • 深圳专业医疗网站建设苏州seo排名公司
  • 如此查询网站名字是否注册seo岗位
  • 手机网站制作细节万网域名注册流程
  • 装修平面图用什么软件简单seo快速推广窍门大公开
  • 只有网站才需要域名吗成都最新热门事件
  • 淘宝网站建设目标是什么优化系统的软件
  • 自己的电脑做网站会收录吗seo北京公司
  • 南昌哪里学做网站百姓网推广电话
  • 四川做网站有哪些公司怎么自己做一个网站