본문 바로가기

코딩테스트/C++

백준 브루트 포스 알고리즘 19532번 C++

앞엔 내가 브루트포스를 써야한다는 생각전에

이 방정식을 어떻게 풀까 고민했던 쪽팔린 코드...

컴퓨터는 연산속도가 빠르기 때문에 그냥 for 2개 중첩으로 해도 빠르게 끝나는걸 헛짓거리를 하고 있었다.

#include<iostream>
using namespace std;

int main() {
	/*int a, b, c, d, e, f;
	cin >> a >> b >> c >> d >> e >> f;
	int x, y, z;
	int ans1 = 0; 
	int ans2 = 0;
	// ax + by = c;
	//(a * d)x + (b * d)y = d * c;
	//(d * a)x + (e * a)y = f * a;
	if ((a * d) == (d * a)) {
		y == (b * d) - (e - a);
		z == (d * c) - (f * a);
		ans2 == z / y;
		ans1 == ((-b) * ans2 + c)/a;
	}
	else if ((a * d) != (d * a)) {
		y == (b * d) + (e - a);
		z == (d * c) + (f * a);
		ans2 == z / y;
		ans1 == ((-b) * ans2 + c) / a;
	}
	cout << ans1 << " " << ans2;
	*/
	int a, b, c, d, e, f;
	cin >> a >> b >> c >> d >> e >> f;

	for (int i = -999; i <= 999; i++) {
		for (int j = -999; j <= 999; j++) {
			if (a * i + b * j == c && d * i + e * j == f) {
				cout << i << " " << j;
			}
		}
	}
	return 0;
}