diff options
Diffstat (limited to 'challenge-123/abigail/ruby/ch-2.rb')
| -rw-r--r-- | challenge-123/abigail/ruby/ch-2.rb | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/challenge-123/abigail/ruby/ch-2.rb b/challenge-123/abigail/ruby/ch-2.rb index 7e7f54b680..56fb532063 100644 --- a/challenge-123/abigail/ruby/ch-2.rb +++ b/challenge-123/abigail/ruby/ch-2.rb @@ -8,14 +8,16 @@ # Run as: ruby ch-2.rb < input-file # +def dist (x1, y1, x2, y2) + return (x1 - x2) ** 2 + (y1 - y2) ** 2 +end + ARGF . each_line do |line| x1, y1, x2, y2, x3, y3, x4, y4 = line . split(" ") . map {|n| n . to_i} - e1 = (x1 - x2) ** 2 + (y1 - y2) ** 2 - e2 = (x2 - x3) ** 2 + (y2 - y3) ** 2 - e3 = (x3 - x4) ** 2 + (y3 - y4) ** 2 - e4 = (x4 - x1) ** 2 + (y4 - y1) ** 2 - d1 = (x1 - x3) ** 2 + (y1 - y3) ** 2 - d2 = (x2 - x4) ** 2 + (y2 - y4) ** 2 - puts (e1 == e2 && e2 == e3 && e3 == e4 && d1 == d2 ? 1 : 0) + + puts (dist(x1, y1, x2, y2) == dist(x2, y2, x3, y3) && + dist(x2, y2, x3, y3) == dist(x3, y3, x4, y4) && + dist(x3, y3, x4, y4) == dist(x4, y4, x1, y1) && + dist(x1, y1, x3, y3) == dist(x2, y2, x4, y4) ? 1 : 0) end |
