fork download
  1. map { $i = 0 ; $A[$i++] .= $& while /.{5,6}/g } <DATA>; # create array "A" from DATA
  2. unshift @A, pop @A; # rotate 'zero' to beginning
  3. splice @A, 8, 1, (); # delete '+' as 8th element
  4. $A[0] =~ s/.{5}\K/./g; # right-add '.' to 'zero'
  5.  
  6. map { $i = 0 ; $B[$i++] .= $& while /.{6}/g } # create array "B" from input
  7. map { chomp; $_ .= "." } <STDIN>; # add '.' to input lines
  8.  
  9. for $B (@B){
  10. $i = 0;
  11. undef $num;
  12. for $A (@A){
  13. $B eq $A and do { $num = $i ; last };
  14. $i ++;
  15. }
  16. push @num, $num // '+'
  17. }
  18.  
  19. # eval expression, split and make the final array "ANS":
  20. for ( split //, eval join '', @num ){
  21. $i = 0;
  22. $ANS[ $i++] .= $& while $A[$_] =~ /.{6}/g;
  23. }
  24.  
  25. print map s/.$/\n/r, @ANS; # remove trailing points and then print
  26.  
  27. __DATA__
  28. ....x.xxxxx.xxxxx.x...x.xxxxx.xxxxx.xxxxx.......xxxxx.xxxxx.xxxxx
  29. ....x.....x.....x.x...x.x.....x.........x...x...x...x.x...x.x...x
  30. ....x.....x.....x.x...x.x.....x.........x...x...x...x.x...x.x...x
  31. ....x.xxxxx.xxxxx.xxxxx.xxxxx.xxxxx.....x.xxxxx.xxxxx.xxxxx.x...x
  32. ....x.x.........x.....x.....x.x...x.....x...x...x...x.....x.x...x
  33. ....x.x.........x.....x.....x.x...x.....x...x...x...x.....x.x...x
  34. ....x.xxxxx.xxxxx.....x.xxxxx.xxxxx.....x.......xxxxx.xxxxx.xxxxx
Success #stdin #stdout 0s 6000KB
stdin
....x.xxxxx.xxxxx.x...x.xxxxx.xxxxx.xxxxx.......xxxxx.xxxxx.xxxxx
....x.....x.....x.x...x.x.....x.........x...x...x...x.x...x.x...x
....x.....x.....x.x...x.x.....x.........x...x...x...x.x...x.x...x
....x.xxxxx.xxxxx.xxxxx.xxxxx.xxxxx.....x.xxxxx.xxxxx.xxxxx.x...x
....x.x.........x.....x.....x.x...x.....x...x...x...x.....x.x...x
....x.x.........x.....x.....x.x...x.....x...x...x...x.....x.x...x
....x.xxxxx.xxxxx.....x.xxxxx.xxxxx.....x.......xxxxx.xxxxx.xxxxx
stdout
....x.xxxxx.xxxxx.xxxxx.x...x.xxxxx.xxxxx
....x.....x.....x.x.....x...x.x.........x
....x.....x.....x.x.....x...x.x.........x
....x.xxxxx.xxxxx.xxxxx.xxxxx.xxxxx.....x
....x.x.........x.....x.....x.....x.....x
....x.x.........x.....x.....x.....x.....x
....x.xxxxx.xxxxx.xxxxx.....x.xxxxx.....x