# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
63168 | kjp4155 | 두 박스 (KOI18_box) | C++17 | 4 ms | 636 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <stdio.h>
#include <algorithm>
using namespace std;
int main(){
int px1, py1, px2, py2;
int qx1, qy1, qx2, qy2;
scanf("%d%d%d%d",&px1,&py1,&px2,&py2);
scanf("%d%d%d%d",&qx1,&qy1,&qx2,&qy2);
// 두 사각형 P,Q의 교집합이 되는 직사각형을 구하자
int x_left = max(px1, qx1); // 교집합의 좌변
int x_right = min(px2, qx2); // 교집합의 우변
int y_bottom = max(py1, qy1); // 교집합의 윗변
int y_top = min(py2, qy2); // 교집합의 아랫변
// 교집합 직사각형의 가로, 세로길이
int xdiff = x_right - x_left;
int ydiff = y_top - y_bottom;
// 교집합의 가로길이, 세로길이 모두 양수인 경우 FACE
if( xdiff > 0 && ydiff > 0 ) printf("FACE\n");
// 교집합의 가로길이 혹은 세로길이 중 하나만 0이고 나머지가 양수인 경우 LINE
else if( xdiff == 0 && ydiff > 0 ) printf("LINE\n");
else if( xdiff > 0 && ydiff == 0 ) printf("LINE\n");
// 교집합의 가로길이, 세로길이 모두 0인 경우 POINT
else if( xdiff == 0 && ydiff == 0 ) printf("POINT\n");
// 이외의 경우 NULL
else printf("NULL\n");
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |