📝 문제
🔑 풀이 과정
· 처음에는 식을 세워서 풀이했다.
그런데 이렇게 풀이하면 ZeroDivision 터진다.
만약 위 식과 아래식이 서로 상수배면 계산시 0x + 0y = 0 이라는 당연한 결과가 나오기때문에...
· 문제에서 x와 y는 유일한 해로 존재하고, 각각 -999 이상 999이하인 정수인 경우만 주어진다 했으므로
브루트 포스(완전 탐색)로 풀이한다. N이 2000이므로 N^2해도 시간이 충분하다.
🔓 답안
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
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 = -999;
int y = -999;
loop:
for(x = -999; x <= 999; x++){
for(y = -999; y <= 999; y++){
if((a*x + b*y == c) && (d*x + e*y == f))
break loop;
}
}
bw.write(x + " " + y + "\n");
bw.flush();
bw.close();
}
}
🖤 알고리즘 분류
- 수학
- 브루트포스 알고리즘
'PS > Baekjoon' 카테고리의 다른 글
[Baekjoon] 2559 - 수열 (0) | 2023.06.26 |
---|---|
[Baekjoon] 15727 - 조별과제를 하려는데 조장이 사라졌다 (0) | 2023.06.26 |
[Baekjoon] 1476 - 날짜 계산 (0) | 2023.06.23 |
[Baekjoon] 1475 - 방 번호 (0) | 2023.06.22 |
[Baekjoon] 4673 - 셀프 넘버 (0) | 2023.06.21 |
댓글