Submission #11202120
Source Code Expand
use v5.18; # strict say state
use warnings;
use List::Util 'min';
chomp (my ($r, $c) = split / /, <STDIN>);
chomp (my ($sy, $sx) = split / /, <STDIN>);
chomp (my ($gy, $gx) = split / /, <STDIN>);
my (@s, @que);
for my $i (0..$r-1) {
chomp (my $in = <STDIN>);
my @b = split //, $in;
for my $j (0..$c-1) {
if ($b[$j] eq '.') {
$s[$i][$j] = -1;
}
}
}
push @que, $sy-1;
push @que, $sx-1;
$s[$sy-1][$sx-1] = 0;
my $m = sub {
my ($i, $j) = @_;
return 1 + min grep {$_>0} ($s[$i+1][$j], $s[$i-1][$j], $s[$i][$j+1], $s[$i][$j-1]);
};
while (@que) {
my ($i, $j);
$j = pop @que,
$i = pop @que;
my $cnt = $s[$i][$j];
if ($s[$i+1][$j] == -1) {
$s[$i+1][$j] = $m->($i+1, $j);
push @que, $i+1;
push @que, $j;
}
if ($s[$i-1][$j] == -1) {
$s[$i-1][$j] = $m->($i-1, $j);
push @que, $i-1;
push @que, $j;
}
if ($s[$i][$j+1] == -1) {
$s[$i][$j+1] = $m->($i, $j+1);
push @que, $i;
push @que, $j+1;
}
if ($s[$i][$j-1] == -1) {
$s[$i][$j-1] = $m->($i, $j-1);
push @que, $i;
push @que, $j-1;
}
}
say abs($s[$gy-1][$gx-1]);
Submission Info
Submission Time |
|
Task |
A - 幅優先探索 |
User |
superrino1 |
Language |
Perl (v5.18.2) |
Score |
0 |
Code Size |
1147 Byte |
Status |
WA |
Exec Time |
12 ms |
Memory |
1152 KB |
Compile Error
./Main.pl syntax OK
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
0 / 100 |
Status |
|
|
Set Name |
Test Cases |
Sample |
subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt |
All |
subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt |
Case Name |
Status |
Exec Time |
Memory |
subtask0_sample01.txt |
AC |
5 ms |
896 KB |
subtask0_sample02.txt |
AC |
5 ms |
896 KB |
subtask0_sample03.txt |
AC |
12 ms |
1152 KB |
subtask1_01.txt |
AC |
9 ms |
1024 KB |
subtask1_02.txt |
AC |
9 ms |
1024 KB |
subtask1_03.txt |
AC |
9 ms |
1024 KB |
subtask1_04.txt |
AC |
11 ms |
1152 KB |
subtask1_05.txt |
AC |
12 ms |
1152 KB |
subtask1_06.txt |
AC |
11 ms |
1024 KB |
subtask1_07.txt |
AC |
5 ms |
896 KB |
subtask1_08.txt |
AC |
6 ms |
896 KB |
subtask1_09.txt |
WA |
9 ms |
1024 KB |
subtask1_10.txt |
AC |
7 ms |
896 KB |
subtask1_11.txt |
WA |
11 ms |
1152 KB |
subtask1_12.txt |
WA |
11 ms |
1024 KB |
subtask1_13.txt |
WA |
9 ms |
1024 KB |
subtask1_14.txt |
AC |
6 ms |
896 KB |
subtask1_15.txt |
WA |
9 ms |
1024 KB |
subtask1_16.txt |
WA |
10 ms |
1024 KB |
subtask1_17.txt |
WA |
10 ms |
1024 KB |
subtask1_18.txt |
WA |
10 ms |
1024 KB |
subtask1_19.txt |
WA |
9 ms |
1024 KB |
subtask1_20.txt |
WA |
9 ms |
1024 KB |
subtask1_21.txt |
WA |
9 ms |
1024 KB |
subtask1_22.txt |
WA |
9 ms |
1024 KB |