、
#include<iostream>
using namespace std;
typedef pair<int,int> Dot;//存储坐标
int dy[] = { 0,1,0,-1 };
int dx[] = { -1,0,1,0 };
int main() {
int direction = 0,x,y,dis = 0;
Dot pos = make_pair(0,0);
cin >> x >> y;
for (int i = 1;; i++) {
for (int j = 1; j <= 2;j++) {
int dis1 = 0;
do {
pos = make_pair(pos.first+dx[direction],pos.second+dy[direction]);
dis++;
dis1++;
if (pos.first == x && pos.second == y) {
cout << dis;
return 0;
}
} while (dis1<i);
direction = (direction + 1) % 4;
}
}
return 0;
#include<iostream>
using namespace std;
typedef long long ll;
int main() {
int x, y;
cin >> x >> y;
ll n = max(abs(x),abs(y));
ll sum = (8 + 8 * (n - 1)) * (n - 1) / 2;
if (x < y) {
sum += 2 * n + x + y;
}
else {
sum += 6 * n - x - y;
}
cout << sum;
return 0;
}