38 lines
639 B
Perl
38 lines
639 B
Perl
|
use 5.20.0;
|
||
|
use List::AllUtils qw/ reduce min max /;
|
||
|
|
||
|
my @grid = (
|
||
|
[ ],
|
||
|
[ '', '', '', 1, '','' ],
|
||
|
[ '', '', 2, 3, 4, '' ,'' ],
|
||
|
[ '', 5, 6, 7, 8, 9, ],
|
||
|
[ '', '', 'A' ,'B', 'C' ],
|
||
|
[ '', '', '', 'D' ],
|
||
|
);
|
||
|
|
||
|
my %d = (
|
||
|
U => [ -1, 0 ],
|
||
|
R => [ 0, 1 ],
|
||
|
L => [ 0, -1 ],
|
||
|
D => [ 1, 0 ],
|
||
|
);
|
||
|
|
||
|
my $coord = [ 3,1 ];
|
||
|
while(<>) {
|
||
|
chomp;
|
||
|
$coord = reduce {
|
||
|
my $n = $d{$b};
|
||
|
use DDP;
|
||
|
# p $a;
|
||
|
my $x = [
|
||
|
map { $a->[$_] + $n->[$_] }
|
||
|
0..1
|
||
|
];
|
||
|
|
||
|
$grid[$x->[0]][$x->[1]] ? $x : $a;
|
||
|
} $coord, split '';
|
||
|
|
||
|
print $grid[$coord->[0]][$coord->[1]];
|
||
|
|
||
|
}
|