枚举
因为要X==Y,则
1.开始X==Y
2.设法让X+Y==X−Y,
则Y==0,而题目条件(1.交换:(X,Y)=(Y,X);2.变换:(X,Y)=(X+Y,X−Y))可以知Y==0可以由X==0求得,所以
X==0 或Y==0或X+Y==0 或X-Y==0
参考:
(证明:https://blog.nowcoder.net/n/4aa34c74d64a4a328e590caee6ef877b)
(使用暴力,https://blog.nowcoder.net/n/becbe47910f741beb0c91bc007f90a3b)(这个可能边界值找麻烦,而且要精确证明)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int X=in.nextInt();
int Y=in.nextInt();
if(X==Y){
System.out.println(0);
}else if(Y==0){
System.out.println(1);
}else if(X==0){
System.out.println(2);
}else if(X+Y==0){
System.out.println(3);
}else{
System.out.println(-1);
}
}
}

京公网安备 11010502036488号