C#

백준 C# 19532 문제 풀이

psb08 2024. 11. 9. 19:20
728x90

문제 링크 : https://www.acmicpc.net/problem/19532

목차

1. 설명

 

2. 내 코드

 

3. 문제 풀이 해석 내용

 

4. 실행 결과

 

설명

백준 브론즈 2 문제 입니다.

문제명 : 수학은 비대면강의입니다.

 

내 코드

string[] arr = Console.ReadLine().Split();

int a = int.Parse(arr[0]);
int b = int.Parse(arr[1]);
int c = int.Parse(arr[2]);

int a2 = int.Parse(arr[3]);
int b2 = int.Parse(arr[4]);
int c2 = int.Parse(arr[5]);

for (int x = -999; x <= 999; x++)
{
    for (int y = -999; y <= 999; y++)
    {
        if ((a*x + b*y == c) && (a2*x + b2*y == c2))
        {
            Console.WriteLine(x + " " + y);
            break;
        }
    }
}

 

문제 풀이 해석 내용

 

입력 처리

string[] arr = Console.ReadLine().Split();

사용자로부터 공백으로 구분된 문자열 입력을 읽어와 arr 배열에 저장합니다. 

이 배열은 총 6개의 값을 포함합니다.

 

 

변수 초기화

int a = int.Parse(arr[0]);
int b = int.Parse(arr[1]);
int c = int.Parse(arr[2]);

int a2 = int.Parse(arr[3]);
int b2 = int.Parse(arr[4]);
int c2 = int.Parse(arr[5]);

arr 배열에서 읽어온 값을 각각 정수로 변환하여 변수 a, b, c와 a2, b2, c2에 저장합니다. 

이들은 두 개의 선형 방정식의 계수를 나타냅니다.

 

 

이중 루프를 통한 해 찾기

for (int x = -999; x <= 999; x++)
{
    for (int y = -999; y <= 999; y++)
    {
        if ((a*x + b*y == c) && (a2*x + b2*y == c2))
        {
            Console.WriteLine(x + " " + y);
            break;
        }
    }
}

첫 번째 for 루프는 x를 -999부터 999까지 반복합니다.
두 번째 for 루프는 y를 -999부터 999까지 반복합니다.
각 (x, y) 조합에 대해 두 개의 방정식 a*x + b*y == c와 a2*x + b2*y == c2를 확인합니다.
두 방정식을 모두 만족하는 (x, y) 쌍이 발견되면, 그 값을 출력하고 내부 루프를 break하여 다음 x 값으로 넘어갑니다.

 

 

실행 결과

실행 결과

 

728x90

'C#' 카테고리의 다른 글

백준 C# 11650 문제 풀이  (0) 2024.11.12
백준 C# 10989 문제 풀이  (0) 2024.11.10
백준 C# 2751 문제 풀이  (0) 2024.11.08
백준 C# 25305 문제 풀이  (0) 2024.11.07
백준 C# 2750 문제 풀이  (0) 2024.11.06