Vấn đề này (xem bên dưới) đã được đưa ra như một thử thách chơi gôn mã trường trung học lập trình. Các mã ngắn nhất được gửi trong cuộc thi là: 177 byte trong Ruby, 212 byte trong Python 2.5, 265 byte trong C. Có ai có thể làm cho nó ngắn hơn không? Các ngôn ngữ lập trình khác cũng được cho phép.
Xây dựng bài toán : Cho 8 số nguyên: -1000 <x1, y1, x2, y2, x3, y3, x4, y4 <1000. Kiểm tra hình dạng của giao điểm của hai hình chữ nhật thẳng hàng trục: P1 = (x1, y1) , (x1, y2), (x2, y2), (x2, y1) và P2 = (x3, y3), (x3, y4), (x4, y4), (x4, y3).
* If the rectangles do not intersect print *nothing*.
* If there is exactly one point in common print *point*.
* If the intersections of P1 and P2 is a line segment print *line*.
* If they have a rectangular area in common print *rectangle*.
Đặc tả dữ liệu đầu vào : Dòng đầu tiên chứa số lượng trường hợp thử nghiệm t (1 <= t <1000). Mỗi dòng t sau đây chứa 8 số nguyên: x1, y1, x2, y2, x3, y3, x4, y4 (Diện tích của cả hai hình chữ nhật đều lớn hơn 0).
Bạn có thể kiểm tra giải pháp của bạn ở đây .