Mam w Perlu dwie wersje - jedna z długościami odcinka, druga z wyznacznika. Obie wersje dają WA nie wiem czemu 
Co dziwniejsze, wersja z wyznacznikiem w C++ przechodzi. Ma ktoś pomysł dlaczego?
Oto kod
#!/usr/bin/perl
<>;
while(<>)
{
chomp($_);
($a,$b,$c,$d,$e,$f)=split(/ /,$_);
$x = ($a - $c)**2 + ($b - $d)**2;
$y = ($e - $c)**2 + ($f - $d)**2;
$z = ($a - $e)**2 + ($b - $f)**2;
($x, $y, $z)= sort({$a<=>$b;} $x, $y, $z);
$k = ($z-$x-$y)/2;
print "TAK\n" if($k**2 == $x*$y);
print "NIE\n" if($k**2 != $x*$y);
}
A tu z wyznacznika
#!/usr/bin/perl
<>;
while(<>)
{
split;
$k=($_[0]*$_[3])+($_[2]*$_[5])+($_[4]*$_[1])-($_[4]*$_[3])-($_[2]*$_[1])-($_[0]*$_[5]);
print "TAK\n" if($k==0);
print "NIE\n" unless($k==0);
}