JOI2006予選 問題3@Perl(-65)

もっと短くできる気がするんだが。

mapは左辺値として使えないのかなあ。

#!/usr/bin/perl

%t=(N=>[0,1,5,4,0],E=>[0,3,5,2,0],W=>[0,2,5,3,0],S=>[0,4,5,1,0],R=>[1,2,4,3,1],L=>[1,3,4,2,1]);
@c=1..6;
$s=1;
$n=<>;
for(1..$n) {
	$_=substr<>,0,1;
	if(not exists $t{$_}) {print "not exists \$t{$_}\n";}
	$a=$t{$_};
	($c[$$a[0]],$c[$$a[1]],$c[$$a[2]],$c[$$a[3]])=($c[$$a[1]],$c[$$a[2]],$c[$$a[3]],$c[$$a[4]]);
	$s+=$c[0];
}
print $s.$/;