From bdaa2c8cd858fd6a8d52c73183a696b904b5863e Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 25 Jun 2019 16:51:56 +0100 Subject: - Added solutions by Roger Bell West. --- challenge-014/roger-bell-west/perl5/ch-1.pl | 23 +++++++++++ challenge-014/roger-bell-west/perl5/ch-2.pl | 61 +++++++++++++++++++++++++++++ challenge-014/roger-bell-west/perl5/states | 51 ++++++++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 challenge-014/roger-bell-west/perl5/ch-1.pl create mode 100644 challenge-014/roger-bell-west/perl5/ch-2.pl create mode 100644 challenge-014/roger-bell-west/perl5/states (limited to 'challenge-014') diff --git a/challenge-014/roger-bell-west/perl5/ch-1.pl b/challenge-014/roger-bell-west/perl5/ch-1.pl new file mode 100644 index 0000000000..7a2ec72c77 --- /dev/null +++ b/challenge-014/roger-bell-west/perl5/ch-1.pl @@ -0,0 +1,23 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +my $s=0; +my $n=1; +print "$s "; + +my @lst=(1); + +my $os=0; +while (1) { + if (defined $lst[$s]) { + $s=$n-$lst[$s]; + } else { + $s=0; + } + $lst[$os]=$n; + $n++; + print "$s "; + $os=$s; +} diff --git a/challenge-014/roger-bell-west/perl5/ch-2.pl b/challenge-014/roger-bell-west/perl5/ch-2.pl new file mode 100644 index 0000000000..7c9ffb1177 --- /dev/null +++ b/challenge-014/roger-bell-west/perl5/ch-2.pl @@ -0,0 +1,61 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +use Getopt::Std; + +my %o=(d => 'SOWPODS', + s => 'states'); +getopts('d:s:h',\%o); + +if ($o{h}) { + print STDERR <) { + chomp; + my ($ab,$state)=split ' ',$_,2; + $s{uc($ab)}=$state; +} +close S; + +my $toplen=0; +my @results; + +open D,'<',$o{d}; +OUTER: while () { + chomp; + my $w=uc($_); + if (length($w)%2==1) { + next OUTER; + } + my @list; + while ($w) { + my $a=substr($w,0,2); + if (exists $s{$a}) { + push @list,$a; + $w=substr($w,2); + } else { + next OUTER; + } + } + if (@list && scalar @list >= $toplen) { + if ($toplen < scalar @list) { + @results=(); + $toplen=scalar @list; + } + my $ex=join(' + ',map {$s{$_}} @list).' = '.join('',@list); + push @results,$ex; + } +} + +print map {"$_\n"} @results; diff --git a/challenge-014/roger-bell-west/perl5/states b/challenge-014/roger-bell-west/perl5/states new file mode 100644 index 0000000000..b25e9f8070 --- /dev/null +++ b/challenge-014/roger-bell-west/perl5/states @@ -0,0 +1,51 @@ +AL Alabama +AK Alaska +AZ Arizona +AR Arkansas +CA California +CO Colorado +CT Connecticut +DE Delaware +DC District of Columbia +FL Florida +GA Georgia +HI Hawaii +ID Idaho +IL Illinois +IN Indiana +IA Iowa +KS Kansas +KY Kentucky +LA Louisiana +ME Maine +MD Maryland +MA Massachusetts +MI Michigan +MN Minnesota +MS Mississippi +MO Missouri +MT Montana +NE Nebraska +NV Nevada +NH New Hampshire +NJ New Jersey +NM New Mexico +NY New York +NC North Carolina +ND North Dakota +OH Ohio +OK Oklahoma +OR Oregon +PA Pennsylvania +RI Rhode Island +SC South Carolina +SD South Dakota +TN Tennessee +TX Texas +UT Utah +VT Vermont +VA Virginia +WA Washington +WV West Virginia +WI Wisconsin +WY Wyoming -- cgit