A - Anticlockwise Motion Gym - 101177A
Posted zhangzhenjun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了A - Anticlockwise Motion Gym - 101177A相关的知识,希望对你有一定的参考价值。
#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的主要内容,如果未能解决你的问题,请参考以下文章