πŸ’  Cpp/[BOJ] λ‹¨κ³„λ³„λ‘œ 풀어보기

[BOJ][C++] λ°±μ€€ 19532번: μˆ˜ν•™μ€ λΉ„λŒ€λ©΄κ°•μ˜μž…λ‹ˆλ‹€ (Bronze II)

선달 2025. 1. 6. 05:59
λ°˜μ‘ν˜•

문제

μˆ˜ν˜„μ΄λŠ” 4μ°¨ μ‚°μ—…ν˜λͺ… μ‹œλŒ€μ— μ‚΄κ³  μžˆλŠ” 쀑학생이닀. μ½”λ‘œλ‚˜ 19둜 인해, μˆ˜ν˜„μ΄λŠ” 버좔얼 ν•™κ΅λ‘œ 버좔얼 μΆœμ„ν•΄ 버좔얼 κ°•μ˜λ₯Ό λ“£κ³  μžˆλ‹€. μˆ˜ν˜„μ΄μ˜ 버좔얼 μ„ μƒλ‹˜μ€ λ¬Έμžκ°€ 2개인 연립방정식을 ν•΄κ²°ν•˜λŠ” 방법에 λŒ€ν•΄ κ°•μ˜ν•˜κ³ , λ‹€μŒκ³Ό 같은 문제λ₯Ό μˆ™μ œλ‘œ λƒˆλ‹€.
4μ°¨ μ‚°μ—…ν˜λͺ… μ‹œλŒ€μ— μˆ™μ œλ‚˜ ν•˜κ³  μ•‰μ•„μžˆλŠ” 것보닀 버좔얼 μΉœκ΅¬λ“€μ„ λ§Œλ‚˜λŸ¬ κ°€λŠ” 게 더 κ°€μΉ˜μžˆλŠ” 일이라고 μƒκ°ν–ˆλ˜ μˆ˜ν˜„μ΄λŠ” 이런 연립방정식을 ν’€ μ‹œκ°„μ΄ μ—†μ—ˆλ‹€. λ‹€ν–‰νžˆλ„, 버좔얼 κ°•μ˜μ˜ μˆ™μ œ μ œμΆœμ€ 인터넷 창의 빈 칸에 μˆ˜λ“€μ„ μž…λ ₯ν•˜λŠ” 식이닀. 각 μΉΈμ—λŠ” $-999$ 이상 $999$ μ΄ν•˜μ˜ μ •μˆ˜λ§Œ μž…λ ₯ν•  수 μžˆλ‹€. μˆ˜ν˜„μ΄κ°€ 버좔얼 μΉœκ΅¬λ“€μ„ λ§Œλ‚˜λŸ¬ 버좔얼 μ„Έκ³„λ‘œ λ– λ‚  수 있게 λ„μ™€μ£Όμž.

μž…λ ₯

μ •μˆ˜ $a$, $b$, $c$, $d$, $e$, $f$κ°€ 곡백으둜 κ΅¬λΆ„λ˜μ–΄ μ°¨λ‘€λŒ€λ‘œ 주어진닀. ($-999 \leq a,b,c,d,e,f \leq 999$)
λ¬Έμ œμ—μ„œ μ–ΈκΈ‰ν•œ 방정식을 λ§Œμ‘±ν•˜λŠ” $\left(x,y\right)$κ°€ μœ μΌν•˜κ²Œ μ‘΄μž¬ν•˜κ³ , 이 λ•Œ $x$와 $y$κ°€ 각각 $-999$ 이상 $999$ μ΄ν•˜μ˜ μ •μˆ˜μΈ 경우만 μž…λ ₯으둜 주어짐이 보μž₯λœλ‹€.

좜λ ₯

문제의 닡인 $x$와 $y$λ₯Ό 곡백으둜 ꡬ뢄해 좜λ ₯ν•œλ‹€.

 

풀이

// 풀이 : https://whkakrkr.tistory.com

#include <iostream>
#include <vector>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
	cout.tie(NULL);
	cin.tie(NULL);
	
	int a,b,c,d,e,f;
	cin >> a >> b >> c >> d >> e >> f;
	
	int x,y;
	for(int i=-999; i<=999; i++) {
	    for(int j=-999; j<=999; j++) {
	        bool first = a*i + b*j == c;
	        bool second = d*i + e*j == f;
	        if(first && second) {
	            x=i;
	            y=j;
	            break;
	        }
	    }
	}

    cout << x << " " << y;
    
    return 0;
}
λ°˜μ‘ν˜•