2023. 9. 24. 02:09ㆍAlgorithm ( p & swlug )/Baekjoon
[ 문제 ]
그냥 수학문제로 풀면 잘 풀 수 있지만, 이걸 코드를 짜려는 어떤식으로 짜야할지..
우선 ax+by = c 와 dx+ey = f가 같다고 두고 두 식을 빼서 x와 y의 값을 구해야 하고 출력이 되면 답이다.
어떤 식으로 짜야할까? 일단 for로 반복을 해야할 거 같고, if로 조건을 둬야할것같다.
예를 들어 for 이 999만큼 반복될 수 있다고 가정하고, if (a==d || d==e) 만약에 a와 d가 같거나 d와 e가 같을때
result 결과값은 ax+by-c= dx+ey-f 라고 하고 풀어볼까..?
음 아닌거 같다.
이렇게하면 코드는 안돌아갈 것 같다.
도움을 받아보자.
#pragma warning(disable:4996)
#include <stdio.h>
int main() {
int x1, y1, z1, x2, y2, z2;
int i, j;
scanf("%d %d %d %d %d %d", &x1, &y1, &z1, &x2, &y2, &z2);
for (i = -999; i <= 999; i++) {
for (j = -999; j <= 999; j++) {
if (x1 * i + y1 * j == z1 && x2 * i + y2 * j == z2) {
printf("%d %d\n", i, j);
return 0;
}
}
}
return 0;
}
일단 반복문을 사용하는 것과 if를 사용하는 것까지만 맞췄는데, 이중반복을 쓰네?
식이 두가지라서 이중 반복문을 쓰는 것 같다. 첫줄에 i와 j 값을 각각 곱해주고 그값이 z1과 같고, z2와 같으면
결과값이 도출되게 되어있다.
오히려 첫번째문제보다도 까다로운 느낌이다.
이 문제는 시간을 두고 조금 더 고민을 해봐야할 것같다.
일단 두번째 문제도 끝 ( 추후에 추가 공부해야함 )
#pragma warning(disable:4996) 을 처음봐서 찾아봤다.
권장되지 않는 함수 사용에 대한 경고를 방지하고자 쓰인거 같다.
[ 참고 학습 자료 ]
#pragma warning(disable : 4996) (tistory.com)
백준 알고리즘 19532번 수학은 비대면강의입니다 (C언어) (tistory.com)
'Algorithm ( p & swlug ) > Baekjoon' 카테고리의 다른 글
2학기 3주차_알고리즘( 백준11866번 : 요세푸스 문제 0 ) (0) | 2023.09.30 |
---|---|
2학기 3주차_알고리즘( 백준28278번 : 스택2 ) (0) | 2023.09.29 |
2학기 2주차_알고리즘( 백준2164번 : 카드2 ) (0) | 2023.09.24 |
2학기 1주차_알고리즘( 백준10773번 : 제로 ) (0) | 2023.09.17 |
2학기 1주차_알고리즘( 백준1978번 : 소수 찾기 ) (0) | 2023.09.17 |