문제에서는
브루트포스 알고리즘을 이용해서
정수 해를 찾으라 하는것 같지만
선형대수학을 배우셨다면
행렬을 이용해서 푸는 방법이
가장 먼저 떠오르실겁니다
이렇게 생긴 연립방정식을 행렬식으로 표현하면
이렇게 됩니다
저희는 a b c d p q 를 통해 x y를 찾아햐 하니깐
그렇게 식을 바꿔주면
이렇게 x와 y가
a b c d p q 로 이루어진 식으로
나타날 수 있게 됩니다
코드입니다
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[] arr = new int[6];
for(int i=0;i<6;i++) {
arr[i]=scan.nextInt();
}
int D = arr[0]*arr[4]-arr[1]*arr[3];
int x = (arr[2]*arr[4]-arr[1]*arr[5])/D;
int y = (arr[0]*arr[5]-arr[2]*arr[3])/D;
System.out.print(x+" "+y);
}
}
간단하죵
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 1731 JAVA 자바] 추론 (0) | 2023.08.31 |
---|---|
[백준 24060 JAVA 자바] 알고리즘 수업 - 병합 정렬 1 (0) | 2023.08.30 |
[백준 18258 JAVA 자바] 큐 2 (0) | 2023.08.29 |
[백준 18108 JAVA 자바] 1998년생인 내가 태국에서는 2541년생?! (0) | 2023.08.29 |
[백준 1075 JAVA 자바] 나누기 (0) | 2023.08.28 |