来点花活吧。

规则很简单 对于位置A,B 操作只有两个 1.交换数值位置 2. A=X+Y, B=X-Y

如果带入就会发现,一共就只有以下几种情况:

  1. x==y 无需操作,A=B成立
  2. x=0, y=n 首先操作1: A=n、B=0,然后操作2: A=n+0、B=n-0
  3. x=n, y=0 直接操作2: A=n+0、B=n-0
  4. x=-y 首先操作2,使得第一位为0,因为正整数+负整数,然后按第二情况处理。

其他都返回-1

#include <iostream>
using namespace std;

int main() {
    int x,y;
    cin>>x>>y;
    cout<<(x==y?0:!x?2:!y?1:!(x+y)?3:-1);
}