HCNV2 - Bài toán hình chữ nhật 2

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Cho hai hình chữ nhật có các cạnh song song với các trục tọa độ. Tính diện tích phần giao nhau của hai hình chữ nhật đó.

Image

Input

  • Gồm hai dòng, mỗi dòng có bốn số nguyên lần lượt là tọa độ hai đỉnh của hai góc đối của một hình chữ nhật, mỗi số cách nhau một khoảng trắng.

Giới hạn:

  • Trong tất cả các test, các thành phần tọa độ của điểm có trị tuyệt đối không vượt quá ~10^8~

Output

  • Một số nguyên không âm là diện tích của phần giao nhau của hai hình chữ nhật đã cho.

Sample

Input #1
-2 3 2 1
3 4 0 2
Output #1
2
Input #2
-2 -3 0 0
0 0 2 4
Output #2
0

Problem source: Chuyên Sơn La Online Judge


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -2
    mquan1503  đã bình luận lúc 11, Tháng 1, 2024, 8:54

    include<iostream>

    using namespace std; int main(){ int xa,ya,xb,yb,xc,yc,xd,yd; cin>>xa>>ya>>xb>>yb>>xc>>yc>>xd>>yd; int k1=min(max(0,max(xd,xc)-min(xa,xb)),max(0,max(xa,xb)-min(xc,xd))); int check1=abs(xa-xb),check2=abs(xc-xd); k1=min(k1,min(check1,check2)); int k2=min(max(0,max(yd,yc)-min(ya,yb)),max(0,max(ya,yb)-min(yc,yd))); check1=abs(ya-yb);check2=abs(yc-yd); k2=min(k2,min(check1,check2)); cout<<abs((long long)k1*(long long)k2); return 0; }