
| Current Path : /home/cgabriel/20_dev/10_dev2017/1310__algorithms/geo/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //home/cgabriel/20_dev/10_dev2017/1310__algorithms/geo/progr.pl |
$data = <<'TEXT_ENDE';
35AEC5EC8CCBACE8D0BD2ED51024494989C0115011501155555092254989C04450445555504452
4C256649C10501050515500109402566674405054554050004024252600054005401545644949800
450055
TEXT_ENDE
$x = shift;
$y = shift;
$z = shift;
$x = sprintf("%020b",$x * 1048576);
$y = sprintf("%020b",$y * 1048576);
$z = sprintf("%020b",$z * 1048576);
$data =~ s/0/oooo/gs;
$data =~ s/1/oooi/gs;
$data =~ s/2/ooio/gs;
$data =~ s/3/ooii/gs;
$data =~ s/4/oioo/gs;
$data =~ s/5/oioi/gs;
$data =~ s/6/oiio/gs;
$data =~ s/7/oiii/gs;
$data =~ s/8/iooo/gs;
$data =~ s/9/iooi/gs;
$data =~ s/A/ioio/gs;
$data =~ s/B/ioii/gs;
$data =~ s/C/iioo/gs;
$data =~ s/D/iioi/gs;
$data =~ s/E/iiio/gs;
$data =~ s/F/iiii/gs;
$data =~ s/o/0/gs;
$data =~ s/i/1/gs;
$data =~ s/\n//gs;
$jump = [eval("0b".substr($data,0,4))*2,eval("0b".substr($data,4,4))*2];
$nr = 8;
while ($x) {
$o = (substr($x,0,1))*1 + (substr($y,0,1))*2 + (substr($z,0,1))*4;
while ($o != 0) {
if (substr($data,$nr,2) =~ /^1([01])$/) { $nr = $nr + $jump->[$1] }
$o = $o - 1;
$nr = $nr + 2;
}
last if (length($data) < $nr);
if (substr($data,$nr,1) eq "0") { print substr($data,$nr+1,1)."\n"; exit }
if (substr($data,$nr,2) =~ /^1([01])$/) { $nr = $nr + eval("0b".substr($data,$nr+2,$jump->[$1]))*2 }
$x = substr($x,1);
$y = substr($y,1);
$z = substr($z,1);
}
print "9\n";