X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=36.pl;h=4e254895344b7fda894e51e0612013e493f55905;hb=HEAD;hp=68eb4f95dc33626fb93fd8d5918d7fc797f22442;hpb=ad27dd52fd6e2e560706e17376bdf609e9bcc8a1;p=aoc2020.git diff --git a/36.pl b/36.pl index 68eb4f9..4e25489 100755 --- a/36.pl +++ b/36.pl @@ -2,15 +2,10 @@ use strict; -my $sum = 0; -while (<>) { - chomp; - 1 while - s/\((\d+)\)/$1/ || - s/(\([^\(\)]*?)(\d+)\s*\+\s*(\d+)([^\(\)]*\))/$1.($2+$3).$4/e || - s/(\([^\(\)]*?)(\d+)\s*\*\s*(\d+)([^\(\)]*\))/$1.($2*$3).$4/e || - s/(\d+)\s*([\+])\s*(\d+)/"$1$2$3"/ee || - s/(\d+)\s*([\*])\s*(\d+)/"$1$2$3"/ee; - $sum += $_; -} -print "sum=$sum\n"; +$_ = '(('.join(')+(', <>).'))'; +s/\s//g; +1 while + s/\((\d+)\)/$1/ || + s/(\([^\(\)]*?)(\d+)\+(\d+)([^\(\)]*\))/$1.($2+$3).$4/e || + s/(\([^\(\)]*?)(\d+)\*(\d+)([^\(\)]*\))/$1.($2*$3).$4/e; +print "sum=$_\n";