백준 19532

김경욱·2025년 8월 15일

백준

목록 보기
46/121

//TIP To Run code, press or
// click the icon in the gutter.

import java.util.Scanner;
import java.util.;
import java.io.
;

// 1 10 13 16
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 = (c * e - b * f) / (a * e - b * d);
    int y = (a * f - c * d) / (a * e - b * d);
    System.out.println(x+" "+y);




}

}
내가 문제를 풀땐 a,d의 최소 공배수를 구한 후 그걸 각각 a,d에 나누어 나온 값은 나머지 b,c e,f에 곱하여 이 4개의 값은 더하고 빼고 나눠서 y의 값은 구한 후 x를 구했는데 식이 너무 복잡해져 지피티한테 물어보니 이렇게 간단한 식이 있었다. '크래머 공식'이라고 한다. 두 개의 일차방식에 각각 서로 다른 일차방정식의 y의 계수를 곱하여 두 개의 일차 방정식을 빼내어 y값을 없앤 후 x값은 구하는 방식이다. y도 마찬가지로 구한다. 확실히 식을 알고 있으니 값이 금방나오는 것 같다.

0개의 댓글