브루드 포스문제
문제에서 -999 ~ +999 까지의 범위를 명시하였으며, 이를 대입해가며 연립 방정식의 조건 ax + by = c && dx + ey = f
를 만족하는 값을 각각 x, y에 담아 출력해주면 된다.
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine()," ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
int d = Integer.parseInt(st.nextToken());
int e = Integer.parseInt(st.nextToken());
int f = Integer.parseInt(st.nextToken());
int x = 0, y = 0;
Outer:for(int i= -999; i <= 999; i++){
for(int j= -999; j <= 999; j++){
if((((a * i) + (b * j)) == c)&&(((d * i) + (e * j)) == f)){
x = i;
y = j;
break Outer;
}
}
}
System.out.println(x + " " + y);
br.close();
}
}
정말 좋은 글 감사합니다!