来点花活吧。
规则很简单 对于位置A,B 操作只有两个 1.交换数值位置 2. A=X+Y, B=X-Y
如果带入就会发现,一共就只有以下几种情况:
- x==y 无需操作,A=B成立
- x=0, y=n 首先操作1: A=n、B=0,然后操作2: A=n+0、B=n-0
- x=n, y=0 直接操作2: A=n+0、B=n-0
- 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);
}

京公网安备 11010502036488号