728x90
반응형
문제
정답 풀이
브루트포스 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
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 = 0;
int y = 0;
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;
break;
}
}
}
System.out.println(x + " " + y);
br.close();
}
}
- 메모리 17104KB
- 시간 200ms
정말 브루트포스 정의대로 다 대입해보는 코드입니다.
연립방정식을 푼 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
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 = (c * d - a * f) / (b * d - a * e);
System.out.println(x + " " + y);
br.close();
}
}
- 메모리 16064KB
- 시간 144ms
연립방정식을 직접 풀어서 x와 y값을 구하여 코드를 작성했습니다.
728x90
반응형
'Computer Science (CS) > 알고리즘' 카테고리의 다른 글
[백준/Java] 10250번 ACM 호텔 (1) | 2024.09.23 |
---|---|
[백준/Java] 1018번 체스판 다시 칠하기 (0) | 2023.06.02 |
[백준/Java] 2231번 분해합 (0) | 2023.06.01 |
[백준/Java] 2798번 블랙잭 (0) | 2023.06.01 |
[백준/Java] 24313번 알고리즘 수업 - 점근적 표기 1 (0) | 2023.06.01 |