728x90
문제
수현이는 4차 산업혁명 시대에 살고 있는 중학생이다. 코로나 19로 인해, 수현이는 버추얼 학교로 버추얼 출석해 버추얼 강의를 듣고 있다. 수현이의 버추얼 선생님은 문자가 2개인 연립방정식을 해결하는 방법에 대해 강의하고, 다음과 같은 문제를 숙제로 냈다.

4차 산업혁명 시대에 숙제나 하고 앉아있는 것보다 버추얼 친구들을 만나러 가는 게 더 가치있는 일이라고 생각했던 수현이는 이런 연립방정식을 풀 시간이 없었다. 다행히도, 버추얼 강의의 숙제 제출은 인터넷 창의 빈 칸에 수들을 입력하는 식이다. 각 칸에는 −999
이상 999 이하의 정수만 입력할 수 있다. 수현이가 버추얼 친구들을 만나러 버추얼 세계로 떠날 수 있게 도와주자.
위 문제는 브루트 포스 카테고리에 있던 문제이다.
브루트포스란
간단히 말해서 답을 하나씩 대입해 보며 답을 찾아가는 방식이다.
처음 이 문제를 풀었을때 수학공식을 계산해서 풀었더니 오답이 떴다.
그래서 카테고리에 더 집중하기로 하였고
이중 for문을 이용하여 간단하게 문제를 해결하였다.
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d, e, f, x, y;
cin >> a >> b >> c >> d >> e >> f;
for(x = -999; x <= 999; x++){
for(y = -999; y <= 999; y++){
if(a*x + b*y == c && d*x + e*y == f){
cout<<x<<" "<<y;
return 0;
}
}
}
return 0;
}
범위가 -999부터 999까지 이기때문에 for문을 처음 시작할때 x, y를 -999로 초기화해주었고 1씩 더해가며 답을 찾고 찾았다면 x y값을 공백으로 나누어 출력하고 프로그램을 끝내는 코드이다.
728x90
'코딩테스트 > 백준' 카테고리의 다른 글
백준 C++ 18870번 좌표 압축 (1) | 2024.10.02 |
---|---|
백준 C++ 10814번 나이 순 정렬 문제 풀이 (0) | 2024.03.20 |
백준 C++ 2751번 수 정렬하기 2 (1) | 2024.03.17 |
백준 c++ 1018번 체스판 다시 칠하기 문제 풀이 (0) | 2024.03.14 |