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
|