https://www.acmicpc.net/problem/19532
접근 :
- 2차 연립 방정식을 입력받는다.
- 입력 받은 그대로 x , y에 -999 ~ 999 까지 입력하여 정답인 경우를 찾는다.
* 공식 유도를 통하여 for 문 없이 계산할 수 있지만, 브루트포스를 요구한 문제임으로 모든 경우를 입력하여 구한다.
코드 구현 :
import java.io.*;
public class Main {
static class Equations {
private int[] nums;
public Equations(int[] nums) {
this.nums = nums;
}
public String getXY() {
StringBuilder sb = new StringBuilder();
for (int i = -999; i < 1000; i++) {
for (int j = -999; j < 1000; j++) {
if ((nums[0] * i + nums[1] * j == nums[2]) && (nums[3] * i + nums[4] * j == nums[5])) {
return sb.append(i).append(" ").append(j).toString();
}
}
}
return null;
}
}
public static void main(String[] srgs) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] inputs = br.readLine().split(" ");
int[] inputs_num = new int[6];
for (int i = 0; i < inputs_num.length; i++) {
inputs_num[i] = Integer.parseInt(inputs[i]);
}
Equations equations = new Equations(inputs_num);
System.out.println(equations.getXY());
br.close();
}
}