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 |