728x90
728x90
https://www.acmicpc.net/problem/2527
난이도: solved.ac 실버 1
알고리즘 분류
수학, 기하학, 많은 조건 분기
접근 방법
두 개의 사각형 A, B가 있다고 해보자.
먼저 공통부분이 없는 d의 경우에 어떤 모양을 갖고 있는지 살펴보자.
아래와 같은 네 가지의 경우에 공통부분을 갖지 않게 된다.
그리고 꼭지점끼리만 접하는 c의 모양은 어떻게 되는지 살펴보자.
아래와 같이 네 가지의 경우만 가능하다.
그리고 선분끼리 접하는 경우인 b일 때는 어떻게 되는지 보자.
이 경우도 아래와 같이 네 가지의 경우만 가능하다.
위의 12가지 경우를 제외하면 a의 경우가 된다.
코드
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
int test = 4, x1, y1, p1, q1, x2, y2, p2, q2;
while (test--) {
scanf("%d %d %d %d %d %d %d %d", &x1, &y1, &p1, &q1, &x2, &y2, &p2, &q2);
if (x1 > p2 || y1 > q2 || x2 > p1 || y2 > q1)
printf("d\n");
else if ((x1 == p2 && y1 == q2) || (x2 == p1 && y2 == q1) || (x1 == p2 && q1 == y2) || (x2 == p1 && q2 == y1))
printf("c\n");
else if (x1 == p2 || y1 == q2 || x2 == p1 || y2 == q1)
printf("b\n");
else
printf("a\n");
}
return 0;
}
반응형