728x90
1. 문제
https://codeup.kr/problem.php?id=2628
[출처 : 코드업(https://codeup.kr/)]
이번 문제는 원형을 두번 자를때 교차가 되는지 안되는지 확인하는 문제입니다.
직접 원형을 그려보고 어떠한 경우에만 교차가 되는지 생각해보면 쉽게 해결할수있습니다.
2. 풀이방법
STEP 1. b0 < a0 < b1 < a1 인 경우
STEP 2. a0 < b0 < a1 < b1 인 경우
3. 해답
#include <stdio.h>
void swap(int* a, int* b) {
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
int main() {
int a[2], b[2];
scanf("%d %d", &a[0], &a[1]);
scanf("%d %d", &b[0], &b[1]);
if (a[0] > a[1]) swap(&a[0], &a[1]);
if (b[0] > b[1]) swap(&b[0], &b[1]);
if (a[0] > b[0] && a[0] < b[1] && a[1] > b[1]) {
// b[0] < a[0] < b[1] < a[1]
printf("cross");
return 0;
} else if (b[0] > a[0] && b[0] < a[1] && b[1] > a[1]) {
// a[0] < b[0] < a[1] < b[1]
printf("cross");
return 0;
}
printf("not cross");
return 0;
}
'프로그래밍 > CodeUp' 카테고리의 다른 글
CodeUp[Q_2631] : 보물 찾기 (0) | 2020.04.09 |
---|---|
CodeUp[Q_2629] : 광역시 (0) | 2020.04.08 |
CodeUp[Q_2610] : 그림판 채우기 (0) | 2020.04.05 |
CodeUp[Q_2607] : 쌍둥이 소수 (0) | 2020.04.04 |
CodeUp[Q_2605] : 캔디팡 (0) | 2020.04.03 |