[Java] 백준(Baekjoon) 19532. 수학은 비대면강의입니다
2024. 1. 31. 15:40ㆍAlgorithm/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 |
---|