Syntax error Program to find total area covered by two rectangles in Python

Program to find total area covered by two rectangles in Python



Suppose we want to find the total area covered by two rectilinear rectangles in a 2D plane. Here each rectangle is defined by its bottom left corner and top right corner as shown in the figure.

To solve this, we will follow these steps −

  • width_1 := |C-A|, height_1 := |D-B|
  • width_2 := |G-E|, height_2 := |H-F|
  • area := width_1*height_1 + width_2*height_2
  • if (G<A) or (E>C) or (F>D) or (H<B), then
    • return area
  • otherwise,
    • p := maximum of A, E
    • q := maximum of B, F
    • r := minimum of C, G
    • s := minimum of D, H
    • width_3 := |r-p|
    • height_3 := |s-q|
    • return area - (width_3*height_3)

Example

Let us see the following implementation to get better understanding −

def solve(A, B, C, D, E, F, G, H):
   width_1 = abs(C-A)
   height_1 = abs(D-B)

   width_2 = abs(G-E)
   height_2 = abs(H-F)

   area = width_1*height_1 + width_2*height_2

   if (G<A) or (E>C) or (F>D) or (H<B):
      return area
   else:
      p = max(A,E)
      q = max(B,F)
      r = min(C,G)
      s = min(D,H)

      width_3 = abs(r-p)
      height_3 = abs(s-q)

      return area - (width_3*height_3)

A = -3
B = 0
C = 3
D = 4
E = 0
F = -1
G = 9
H = 2
print(solve(A, B, C, D, E, F, G, H))

Input

-3, 0, 3, 4, 0, -1, 9, 2

Output

45
Updated on: 2021-10-23T08:46:25+05:30

368 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements