aboutsummaryrefslogtreecommitdiff
path: root/challenge-152/abigail/ruby/ch-2.rb
blob: 6dea375d17744ca1b3249d982a6c9e5949c543fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/ruby

#
# See https://theweeklychallenge.org/blog/perl-weekly-challenge-152
#
 
#
# Run as: ruby ch-2.rb < input-file
#

ARGF . each_line do |line|
    a_x1, a_y1, a_x2, a_y2, b_x1, b_y1, b_x2, b_y2 = 
          line . split . map do |n| n . to_i end

    puts (([a_x1, a_x2] . max - [a_x1, a_x2] . min)                 *
          ([a_y1, a_y2] . max - [a_y1, a_y2] . min)                 +
          ([b_x1, b_x2] . max - [b_x1, b_x2] . min)                 *
          ([b_y1, b_y2] . max - [b_y1, b_y2] . min)                 -
         [[[a_x1, a_x2] . max,  [b_x1, b_x2] . max] . min           -
          [[a_x1, a_x2] . min,  [b_x1, b_x2] . min] . max, 0] . max *
         [[[a_y1, a_y2] . max,  [b_y1, b_y2] . max] . min           -
          [[a_y1, a_y2] . min,  [b_y1, b_y2] . min] . max, 0] . max)
    
end