Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- open DATA, "<", $ARGV[0];
- my @p;
- <DATA>;
- while (<DATA>) {
- chomp;
- if (m/^(\d+?) (\d+?)$/) {
- push @p, [$1, $2];
- next;
- }
- if (m/^\d+?$/) {
- my $min = 10_000;
- for my $tgt (0..$#p) {
- for ($tgt+1..$#p) {
- my $d = (($p[$tgt][0] - $p[$_][0])**2 + ($p[$tgt][1] - $p[$_][1])**2)**.5;
- $min = $d if ($d < $min);
- }
- }
- print $min < 10_000 ? sprintf "%.4f\n", $min : "INFINITY\n";
- @p = ();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement