枚举
因为要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); } } }