1. 程式人生 > >Python基礎習題——矩形相交

Python基礎習題——矩形相交

【問題描述】平面上有兩個矩形A和B,其位置是任意的。程式設計求出其相交部分(即重疊部分)的面積。(0<a,b<1000)

【輸入檔案】從標準輸入讀取兩行以空格分隔的整數,格式如下: Ax1 Ay1 Ax2 Ay2 Bx1 By1 Bx2 By2 其中(x1,y1)為矩形一個頂點座標,(x2,y2)為前一頂點的對角頂點座標。各座標值均為整數,取值在0至1000之間。 【輸出檔案】向標準輸出列印一個整數,是兩矩形相交部分的面積(可能為0)。在輸出末尾要有一個回車符。 【輸入樣例】 0 0 2 2 1 1 3 4 【輸出樣例】 1 【樣例說明】輸入的兩個矩陣的相交面積為1 在這裡插入圖片描述

原始碼如下:

Ax1,Ay1,Ax2,Ay2 = [int(a) for a in input().split()] Bx1,By1,Bx2,By2 = [int(a) for a in input().split()] MAX_AX = max(Ax1,Ax2) MIN_AX = min(Ax1,Ax2) MAX_BX = max(Bx1,Bx2) MIN_BX = min(Bx1,Bx2)

MAX_AY = max(Ay1,Ay2) MIN_AY = min(Ay1,Ay2) MAX_BY = max(By1,By2) MIN_BY = min(By1,By2)

xshang = min(MAX_AX,MAX_BX)-max(MIN_AX,MIN_BX) yshang = min(MAX_AY,MAX_BY)-max(MIN_AY,MIN_BY)

if xshang <= 0 or yshang <= 0: print(0) else: print(xshang*yshang)