102 Triangle containment -- v2.pl 520 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/perl
  2. # Author: Daniel "Trizen" Șuteu
  3. # Date: 28 August 2016
  4. # License: GPLv3
  5. # Website: https://github.com/trizen
  6. # https://projecteuler.net/problem=102
  7. use 5.010;
  8. use strict;
  9. use warnings;
  10. my $count = 0;
  11. while (<>) {
  12. my ($ax, $ay, $bx, $by, $cx, $cy) = split(/,/);
  13. my $p = $ax * $by - $ay * $bx;
  14. my $q = $bx * $cy - $by * $cx;
  15. my $r = $cx * $ay - $cy * $ax;
  16. if ( ($p > 0 and $q > 0 and $r > 0)
  17. or ($p < 0 and $q < 0 and $r < 0)) {
  18. ++$count;
  19. }
  20. }
  21. say $count;