본문 바로가기
알고리즘/백준

(백준/자바) 19532번 문제 : 수학은 비대면 강의입니다.

by son_i 2023. 5. 19.
728x90

19532번: 수학은 비대면강의입니다 (acmicpc.net)

 

19532번: 수학은 비대면강의입니다

정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $-

www.acmicpc.net

며칠 전에 풀었었는데 계속 틀려서 짜증나서 미뤄두다가 다시 한 번 풀어봤다.

공식을 알면 쉬운 문제 !

두 연립방정식이 있을 때

int x = (1y*2상수 - 1상수*2y) / (1y*2x - 1x*2y)

int y = (1상수*2x - 1x*2상수) / (1y*2x - 1x*2y)

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
import java.util.StringTokenizer;

public class Solution {
    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 = (b*f - c*e) / (b*d - a*e);
           int y = (c*d - a*f) / (b*d - a*e);
           
           System.out.println(x+" "+y);
    }
}