この問題の解決策を作成しようとしています。私のコードはループ (for と while) に焦点を当てています。
パラメータ Q を、幅、高さ、および左下隅の (x,y) 位置で指定される「長方形」のリストとします。Enclosure(Q) は、 Q 内の各四角形を含む最小の四角形を返します。長方形はタプル (x,y,width,height) で表されます。
これまでの私のコードは次のとおりです。
def Enclosure(Q):
c = []
d = []
for (x,y,width,height) in sorted(Q):
c.append(x)
d.append(y)
print(c)
print(min(c))
e=tuple([min(c)]+[min(d)])
print(e)
print ステートメントは無視してください。これらはデバッグ目的でのみ存在します。この時点までの私のコードは、プログラム形式にしようとしている囲んでいる四角形の左下隅の (x,y) 座標のタプルを作成します。しかし、この時点以降、囲んでいる長方形の (高さ、幅) を見つける方法がまったくわかりません。どうやってやるの?
また、実行時に実行するプログラムの例を次に示します。
R1 = (10,20,5,100) #R1,R2,R3 are each rectangles
R2 = (15,5,30,150) #layout of the tuple:(x,y,width,height)
R3 = (-4,30,20,17)
Enclosure([R1,R2,R3])
(-4, 5, 49, 150) #rectangle that encloses R1,R2,R3