[蓝桥杯 2018 省 B] 螺旋折线

简介: [蓝桥杯 2018 省 B] 螺旋折线

题目描述

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


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

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

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


输入格式

X和 Y

输出格式

输出dis(X,Y)

输入输出样例

输入

0 1

输出

3

说明/提示

对于 40\%40%的数据,−1000≤X,Y≤1000。

对于 70\%70% 的数据,−10^5≤X,Y≤10^5。

对于 100\%100% 的数据,−10^9≤X,Y≤10^9。

#include<cstdio>
#include<iostream>
#include<cmath>
using namespace  std;
typedef long long ll;
int main()
{
    ll sum = 0;
    ll x, y;
    cin >> x >> y;
    if (x >= -y)
    {
        if (x < y)
            sum = y * y * 4 - (y - x);
        else
            sum = x * x * 4 + (x - y);
    }
    else
    {
        if (y > x + 1)
        {
            ll t = abs(x) + abs(x) - 1;
            sum = t * t + abs(x + 1) + y;
        }
        else
        {
            ll t = abs(y) + abs(y) + 1;
            sum = t * t - (x - y + 1);
        }
    }
    cout << sum << endl;
    return 0;
}



目录
相关文章
|
9月前
leetcode-695:岛屿的最大面积
leetcode-695:岛屿的最大面积
67 0
[蓝桥杯 2015 省 B] 移动距离
[蓝桥杯 2015 省 B] 移动距离
167 0
leetcode 695 岛屿的最大面积
leetcode 695 岛屿的最大面积
74 0
leetcode 695 岛屿的最大面积
【寒假每日一题】AcWing 4652. 纸张尺寸
目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
96 0
|
程序员
为什么程序员用笛卡尔心形曲线告白的人,都还是单身?
为什么程序员用笛卡尔心形曲线告白的人,都还是单身?
256 0
为什么程序员用笛卡尔心形曲线告白的人,都还是单身?
|
C++
【力扣·每日一题】807. 保持城市天际线(C++ 贪心)
【力扣·每日一题】807. 保持城市天际线(C++ 贪心)
113 0
【力扣·每日一题】807. 保持城市天际线(C++ 贪心)
LeetCode每日一题——790. 多米诺和托米诺平铺
有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 “L” 的托米诺形。两种形状都可以旋转。
146 0
LeetCode每日一题——790. 多米诺和托米诺平铺
|
机器学习/深度学习 算法 vr&ar
蓝桥杯十大常见天阶功法——水之呼吸.壹之型.递归
蓝桥杯十大常见天阶功法——水之呼吸.壹之型.递归
185 0
蓝桥杯十大常见天阶功法——水之呼吸.壹之型.递归
LeetCode 695. 岛屿的最大面积
LeetCode 695. 岛屿的最大面积
76 0