[백준 19532번] 수학은 비대면강의입니다

2023. 3. 20. 01:25도와줘/컴퓨터

728x90

문제 링크

https://www.acmicpc.net/problem/19532

 

AC 코드

#include <stdio.h>

int f1(int a, int b, int c, int x, int y) {
	return a * x + b * y == c;
}

int f2(int d, int e, int f, int x, int y) {
	return d * x + e * y == f;
}

int main(void) {
	int a, b, c, d, e, f;
	scanf("%d %d %d %d %d %d", &a, &b, &c, &d, &e, &f);
	for (int x = -999; x <= 999; x++) {
		for (int y = -999; y <= 999; y++) {
			if (f1(a, b, c, x, y) && f2(d, e, f, x, y)) {
				printf("%d %d", x, y);
				return 0;
			}
		}
	}
	return 0;
}

 

해설

x, y가 각각 -999 이상 999 이하이므로 1999의 경우의 수를 각각 가지므로, 순서쌍 (x, y)의 조합은,1999 * 1999가지 존재할 수 있습니다. 이 모든 경우를 탐색하면서, 첫 번째 식과 두 번째 식 모두를 만족하는 x, y가 문제에서 요구하는 정답입니다. 한편 문제에서 (x, y)는 유일하다고 했으므로 두 개의 식을 만족하는 순서쌍이 한 개만 발견되면 더 이상의 탐색은 필요하지 않습니다.

 

문제 하나 끝~~~

728x90