fork download
  1. <?php
  2.  
  3. // your code goes here
  4. $arr = array(
  5. array('0','0','0','1', '1', '1','1', '1', '1', '1','1','1','1', '1', '1','1', '1', '1', '1'),
  6. array('1','1','1','1', '1', '1','1', '1', '1', '1','1','1','1', '1', '1','1', '1', '1', '1'),
  7. array('1','1','1','1', '1', '1','1', '1', '1', '1','1','1','1', '1', '1','1', '1', '1', '1'),
  8. array('1','0','1','1', '1', '1','0', '0', '0', '0','1','1','1', '1', '1','1', '1', '1', '1'),
  9. array('1','1','1','1', '1', '1','0', '0', '0', '0','1','1','1', '1', '1','1', '1', '1', '1'),
  10. array('1','1','1','1', '1', '1','0', '0', '0', '0','1','1','1', '1', '1','1', '1', '1', '1'),
  11. array('1','1','1','1', '1', '1','0', '0', '0', '0','1','1','1', '1', '1','1', '1', '1', '1'),
  12. array('1','1','1','1', '1', '1','0', '0', '0', '0','1','1','1', '1', '1','1', '1', '1', '1'),
  13. array('1','1','1','1', '1', '1','1', '1', '1', '1','1','1','1', '1', '1','1', '1', '1', '1'),
  14. array('1','1','1','1', '1', '1','1', '1', '1', '1','1','1','1', '1', '1','1', '1', '0', '1'),
  15. array('1','1','1','1', '1', '1','1', '1', '1', '1','1','1','1', '1', '1','1', '1', '1', '1'));
  16.  
  17. //echo '<pre>';
  18. echo "Before:\n\n";
  19. echo implode(
  20. "\n",
  21. function ($a) { return implode('', $a); },
  22. $arr
  23. )
  24. );
  25.  
  26. foreach ($arr as $i => &$a) {
  27. foreach ($a as $j => $v) {
  28. if ($v !== '0') {
  29. continue;
  30. }
  31.  
  32. if (!array_key_exists($i-1, $arr) || $arr[$i-1][$j] !== '1') {
  33. continue;
  34. }
  35.  
  36. if (!array_key_exists($j+1, $a) || $a[$j+1] !== '1') {
  37. continue;
  38. }
  39.  
  40. if (!array_key_exists($i+1, $arr) || $arr[$i+1][$j] !== '1') {
  41. continue;
  42. }
  43.  
  44. if (!array_key_exists($j-1, $a) || $a[$j-1] !== '1') {
  45. continue;
  46. }
  47.  
  48. $arr[$i][$j] = 'X';
  49. }
  50. }
  51. unset($a);
  52.  
  53. echo
  54. "\n\nAfter:\n\n",
  55. "\n",
  56. function ($a) { return implode('', $a); },
  57. $arr
  58. )
  59. );
Success #stdin #stdout 0.02s 24364KB
stdin
Standard input is empty
stdout
Before:

0001111111111111111
1111111111111111111
1111111111111111111
1011110000111111111
1111110000111111111
1111110000111111111
1111110000111111111
1111110000111111111
1111111111111111111
1111111111111111101
1111111111111111111

After:

0001111111111111111
1111111111111111111
1111111111111111111
1X11110000111111111
1111110000111111111
1111110000111111111
1111110000111111111
1111110000111111111
1111111111111111111
11111111111111111X1
1111111111111111111