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

#
# See https://theweeklychallenge.org/blog/perl-weekly-challenge-152
#

#
# Run as: awk -f ch-2.awk < input-file
#

function min (a, b) {return a < b ? a : b}
function max (a, b) {return a < b ? b : a}

{
    print ((max($1, $3) - min($1, $3))  * \
           (max($2, $4) - min($2, $4))  + \
           (max($5, $7) - min($5, $7))  * \
           (max($6, $8) - min($6, $8))  - \
 max(0, min(max($1, $3),  max($5, $7))  - \
        max(min($1, $3),  min($5, $7))) * \
 max(0, min(max($2, $4),  max($6, $8))  - \
        max(min($2, $4),  min($6, $8))))
}