※. a/b = c/d 가 같다면 a*d = b*c도 성립해야한다. (이 경우 0)
※. 1인 경우는 a*d*x = b*c 이거나 a*d = b*c*x 여아한다. 이 때 x는 정수이므로 (a*d) % (b*c) == 0 이거나 (b*c) % (a*d) == 0 이여야한다.(이 경우 1)
※. a/b를 c/d와 같게 만들려면 a/b * (bc / ad)를 하면된다. 이 작업에서 두 분수는 무조건 같게 만들 수 있으므로 이 이상의 작업은 필요없다.(이 경우 2)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.StringTokenizer;
public class Main {
static long ans = 0;
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
while(T --> 0) {
StringTokenizer st = new StringTokenizer(br.readLine());
//int n = Integer.parseInt(st.nextToken());
//int k = Integer.parseInt(st.nextToken());
//int n = Integer.parseInt(br.readLine());
int[] arr = new int[4];
for(int i = 0; i < 4; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
long x = arr[0];
long y = arr[1];
x *= arr[3];
y *= arr[2];
if(x == y) {
ans = 0;
}
else if(y != 0 && x % y == 0 || x != 0 && y % x == 0) {
ans = 1;
}
else {
ans = 2;
}
sb.append(ans).append('\n');
}
System.out.println(sb);
}
}
'코드포스' 카테고리의 다른 글
[Codeforces Round #817 (Div. 4)] D. Line (0) | 2022.08.31 |
---|---|
[Codeforces Round #815 (Div. 2)] C. Corners (0) | 2022.08.29 |
[Codeforces Round #812 (Div. 2)] A. Traveling Salesman Problem (0) | 2022.08.09 |
[Codeforces Round #790 (Div. 4)] H2. Maximum Crossings (Hard Version) (0) | 2022.08.05 |
[Codeforces Round #790 (Div. 4)] G. White-Black Balanced Subtrees (0) | 2022.08.01 |