[Java] 백준(Baekjoon) 19532. 수학은 비대면강의입니다

2024. 1. 31. 15:40Algorithm/Brute Force

 

https://www.acmicpc.net/problem/19532

 

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

 

 

 


 

풀이

 

-999<=a, b, c, d, e, f, x, y <=999

 

x, y 하나씩 전체 케이스를 반복하면서 실행해도 1998*1998<2000*2000=4,000,000 

1억=> 1초 

4백번이하=> 1초이하

 

- 전체 케이스를 해보는 "브루트포스" 알고리즘 사용

 

 

package dataStructure;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Ex19532 {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
		
		String s= br.readLine();
		StringTokenizer st= new StringTokenizer(s);
		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=-999;
		int y=-999;
		boolean isFinish= false;
		
		for(int i=-999;i<1000;i++) {
			for(int j=-999;j<1000;j++) {
				if((a*i+b*j==c)&&(d*i+e*j==f)) {
					x=i;
					y=j;
					isFinish= true;
					break;
				}
			}
			if(isFinish) break;
		}
		
		System.out.println(x+" "+y);
	}

}

 

'Algorithm > Brute Force' 카테고리의 다른 글

브루트포스(Brute Force, 완전 탐색) 알고리즘  (0) 2024.01.31