LQ0130 螺旋折线【数学规律】

news/2024/5/20 12:37:39 标签: 算法, 蓝桥杯, 螺旋折线

题目来源:蓝桥杯2018初赛 C++ B组G题

题目描述
如图所示的螺旋折线经过平面上所有整点恰好一次。
对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。
例如dis(0, 1)=3, dis(-2, -1)=9
给出整点坐标(X, Y),你能计算出dis(X, Y)吗?
在这里插入图片描述

输入格式
X和Y,数据在int范围以内。
输出格式
输出dis(X, Y)

输入样例
0 1

输出样例
3

问题分析
(略)

AC的C语言程序如下:

/* LQ0130 螺旋折线 */

#include <stdio.h>
#include <stdlib.h>

#define MAX(a, b) ((a) > (b) ? (a) : (b))
typedef long long LL;

int main()
{
    int x, y;
    scanf("%d%d", &x, &y);

    LL d;
    LL m = MAX(abs(x), abs(y));
    if (y == -m)
        d = -(m - x);
    else if (x == m)
        d = m + y;
    else if (y == m)
        d = 2 * m + m - x;
    else if (x == -m)
        d = 4 * m + m - y;

    printf("%lld\n", 4 * m * m + 2 * m - d);

    return 0;
}

http://www.niftyadmin.cn/n/874.html

相关文章

STM32G070RBT6基于Arduino串口的使用

STM32G070RBT6基于Arduino串口的使用&#x1f4d3;STM32G070RBT6串口资源介绍 ✨STM32G070RBT6总共有4个USART资源。 Serial1 for USART1 Serial2 for USART2 Serial3 for USART3 Serial4 for UART4&#x1f516;默认情况下&#xff0c;只有一个Serialx实例映射到通用Serial名。…

Linux

一、Linux介绍 Linux: 操作系统 和 Windows 操作系统区别&#xff1a; 1&#xff09;Linux 命令行操作系统Windows 图形化界面 2&#xff09;Linux 开源项目 &#xff08;免费获取Linux操作系统的源码&#xff09;。 内核源码&#xff0c;免费 Windows 不开源项目&#xff0c…

寒武纪面试——深度学习工程师

目录 一面 校招一面: 校招二面 一面 1、自我介绍 2、Python和C++的区别(答了很多python的特性) 3、Python为什么会慢? 答:因为不知道数据类型,取数据要判断一下。 (1、python是一个动态的解释型语言;python中的值不是存储在缓存区而是分散的存储在对象中 2、Py…

Linux 命令(153)—— dirs 命令(builtin)

文章目录1.命令简介2.命令格式3.选项说明4.常用示例参考文献1.命令简介 dirs&#xff08;directory stack&#xff09;命令&#xff0c;用于显示目录栈。 目录栈是最近访问的目录的列表。配套的两个内置命令&#xff0c;一个是 pushd&#xff0c;更改当前目录时将目录添加到栈…

SD-WAN不断冲击传统WAN架构

随着全球化数字信息转型&#xff0c;网络结构也是在不断的发展和完善。随着云时代的到来&#xff0c;传统的网络布局的局限性开始凸显出来。在过去几年广域网最重要的变化是软件定义广域网技术 (SD-WAN) 的广泛部署&#xff0c;它改变了网络专业人员优化和保护广域网连接的方式…

亿可控_第3章 指标数据持久化与设备详情展示

亿可控_第3章 指标数据持久化与设备详情展示 文章目录亿可控_第3章 指标数据持久化与设备详情展示第3章 指标数据持久化与设备详情展示学习目标1. InfluxDB入门及介绍1.1 InfluxDB简介1.2 InfluxDB相关概念1.3 InfluxDB的基本操作1.3.1 InfluxDB数据库操作1.3.2 InfluxDB数据表…

31、Java——JDBC实现账号密码登录

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;乐趣国学的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;Java案例分…

wy的leetcode刷题记录_Day22

wy的leetcode刷题记录_Day22 目录wy的leetcode刷题记录_Day22题目题目介绍思路代码收获2121. 相同元素的间隔之和题目介绍思路代码收获题目 53. 最大子数组和 题目介绍 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个…