码迷,mamicode.com
首页 > 其他好文 > 详细

A - Anticlockwise Motion Gym - 101177A

时间:2019-10-07 11:39:02      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:names   cond   info   clock   int   space   air   name   ima   

技术图片
#include<bits/stdc++.h>
using namespace std;
/*
直接针对平方来找
每次走的是个折线
*/
pair<int,int> work(int x)
{
    int y=(int)sqrt(x*1.0+0.5);
    pair<int,int>ans;
    if(y&1&&y*y==x)
    {
        ans.first=ans.second=(-(y-1)>>1);
        return ans;
    }
    if(!(y&1)&&y*y==x)
    {
        ans.first=(y/2);
        ans.second=(y/2)-1;
        return ans;
    }
    if(y&1)
    {
        ans.first=ans.second=(-(y-1)>>1);
        if(x-y*y-1<=y)
        {
            ans.second--;
            ans.first+=(x-y*y-1);
            return ans;
        }
        else
        {
            ans.first+=y;
            ans.second+=(x-y*y-y-2);
            return ans;
        }
    }
    else
    {
        ans.first=y/2;
        ans.second=y/2-1;
        if(x-y*y-1<=y)
        {
            ans.second++;
            ans.first-=(x-y*y-1);
            return ans;
        }
        else
        {
            ans.first-=y;
            ans.second-=(x-y*y-y-2);
            return ans;
        }
    }
}
int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    pair<int,int> a1,a2;
    a1=work(a);
    a2=work(b);
    printf("%d\n",abs(a1.first-a2.first)+abs(a1.second-a2.second));
    return 0;
}

 

A - Anticlockwise Motion Gym - 101177A

标签:names   cond   info   clock   int   space   air   name   ima   

原文地址:https://www.cnblogs.com/zhangzhenjun/p/11629654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!