-
<처음 아이디어 => 사유: 시간 초과>
import java.util.*; class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); StringBuilder sb = new StringBuilder(); int T = sc.nextInt(); for(int i = 0; i < T; i++){ int year = 0; int M = sc.nextInt(); int N = sc.nextInt(); int x = sc.nextInt(); int y = sc.nextInt(); while(true){ year++; if((year - M) % M == x && (year - N) % N == y ){ break; } if((year - M) % M == 0 && (year - N) % N == 0 ){ year = -1; break; } } sb.append(year).append('\n'); } System.out.println(sb); } }
<변경된 아이디어>
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); StringBuilder sb = new StringBuilder(); int T = sc.nextInt(); for (int s = 0; s < T; s++) { boolean check = false; int m = sc.nextInt(); int n = sc.nextInt(); int x = sc.nextInt() - 1; int y = sc.nextInt() - 1; for (int i = x; i < (n * m); i += m) { if (i % n == y) { sb.append(i + 1).append('\n'); check = true; break; } } if (!check) { sb.append(-1).append('\n'); } } System.out.println(sb); } }