<?php
// your code goes here
$arr = array( '1' => array('0','0','0','1', '1', '1','1', '1', '1', '1','1','1','1', '1', '1','1', '1', '1', '1'), '2' => array('1','1','1','1', '1', '1','1', '1', '1', '1','1','1','1', '1', '1','1', '1', '1', '1'), '3' => array('1','1','1','1', '1', '1','1', '1', '1', '1','1','1','1', '1', '1','1', '1', '1', '1'), '4' => array('1','0','1','1', '1', '1','0', '0', '0', '0','1','1','1', '1', '1','1', '1', '1', '1'), '5' => array('1','1','1','1', '1', '1','0', '0', '0', '0','1','1','1', '1', '1','1', '1', '1', '1'), '6' => array('1','1','1','1', '1', '1','0', '0', '0', '0','1','1','1', '1', '1','1', '1', '1', '1'), '7' => array('1','1','1','1', '1', '1','0', '0', '0', '0','1','1','1', '1', '1','1', '1', '1', '1'), '8' => array('1','1','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','1', '1', '1', '1','1','1','1', '1', '1','1', '1', '1', '1'), '10' => array('1','1','1','1', '1', '1','1', '1', '1', '1','1','1','1', '1', '1','1', '1', '0', '1'), '11' => array('1','1','1','1', '1', '1','1', '1', '1', '1','1','1','1', '1', '1','1', '1', '1', '1'));
echo '<pre>';
echo "Before:\n\n";
"\n",
function ($a) { return implode('', $a); }, $arr
)
);
foreach ($arr as $i => &$a) {
foreach ($a as $j => $v) {
if ($v !== '0') {
continue;
}
if (!array_key_exists($i-1, $arr) || $arr[$i-1][$j] !== '0'|| $arr[$i-1][$j] == 'X') { continue;
}
continue;
}
if (!array_key_exists($i+1, $arr) || $arr[$i+1][$j] !== '0'|| $arr[$i+1][$j] == 'X') { continue;
}
continue;
}
$arr[$i][$j] = 'X';
}
}
echo
"\n\nAfter:\n\n",
"\n",
function ($a) { return implode('', $a); }, $arr
)
);
PD9waHAKCi8vIHlvdXIgY29kZSBnb2VzIGhlcmUKJGFyciA9IGFycmF5KCAnMScgPT4gYXJyYXkoJzAnLCcwJywnMCcsJzEnLCAnMScsICcxJywnMScsICcxJywgJzEnLCAnMScsJzEnLCcxJywnMScsICcxJywgJzEnLCcxJywgJzEnLCAnMScsICcxJyksCgkJJzInID0+IGFycmF5KCcxJywnMScsJzEnLCcxJywgJzEnLCAnMScsJzEnLCAnMScsICcxJywgJzEnLCcxJywnMScsJzEnLCAnMScsICcxJywnMScsICcxJywgJzEnLCAnMScpLAoJCSczJyA9PiBhcnJheSgnMScsJzEnLCcxJywnMScsICcxJywgJzEnLCcxJywgJzEnLCAnMScsICcxJywnMScsJzEnLCcxJywgJzEnLCAnMScsJzEnLCAnMScsICcxJywgJzEnKSwKCQknNCcgPT4gYXJyYXkoJzEnLCcwJywnMScsJzEnLCAnMScsICcxJywnMCcsICcwJywgJzAnLCAnMCcsJzEnLCcxJywnMScsICcxJywgJzEnLCcxJywgJzEnLCAnMScsICcxJyksCgkJJzUnID0+IGFycmF5KCcxJywnMScsJzEnLCcxJywgJzEnLCAnMScsJzAnLCAnMCcsICcwJywgJzAnLCcxJywnMScsJzEnLCAnMScsICcxJywnMScsICcxJywgJzEnLCAnMScpLAoJCSc2JyA9PiBhcnJheSgnMScsJzEnLCcxJywnMScsICcxJywgJzEnLCcwJywgJzAnLCAnMCcsICcwJywnMScsJzEnLCcxJywgJzEnLCAnMScsJzEnLCAnMScsICcxJywgJzEnKSwKCQknNycgPT4gYXJyYXkoJzEnLCcxJywnMScsJzEnLCAnMScsICcxJywnMCcsICcwJywgJzAnLCAnMCcsJzEnLCcxJywnMScsICcxJywgJzEnLCcxJywgJzEnLCAnMScsICcxJyksCgkJJzgnID0+IGFycmF5KCcxJywnMScsJzEnLCcxJywgJzEnLCAnMScsJzAnLCAnMCcsICcwJywgJzAnLCcxJywnMScsJzEnLCAnMScsICcxJywnMScsICcxJywgJzEnLCAnMScpLAoJCSc5JyA9PiBhcnJheSgnMScsJzEnLCcxJywnMScsICcxJywgJzEnLCcxJywgJzEnLCAnMScsICcxJywnMScsJzEnLCcxJywgJzEnLCAnMScsJzEnLCAnMScsICcxJywgJzEnKSwKCQknMTAnID0+IGFycmF5KCcxJywnMScsJzEnLCcxJywgJzEnLCAnMScsJzEnLCAnMScsICcxJywgJzEnLCcxJywnMScsJzEnLCAnMScsICcxJywnMScsICcxJywgJzAnLCAnMScpLAoJCScxMScgPT4gYXJyYXkoJzEnLCcxJywnMScsJzEnLCAnMScsICcxJywnMScsICcxJywgJzEnLCAnMScsJzEnLCcxJywnMScsICcxJywgJzEnLCcxJywgJzEnLCAnMScsICcxJykpOwogCmVjaG8gJzxwcmU+JzsKZWNobyAiQmVmb3JlOlxuXG4iOwplY2hvIGltcGxvZGUoCiAgICAiXG4iLAogICAgYXJyYXlfbWFwKAogICAgICAgIGZ1bmN0aW9uICgkYSkgeyByZXR1cm4gaW1wbG9kZSgnJywgJGEpOyB9LAogICAgICAgICRhcnIKICAgICkKKTsKIApmb3JlYWNoICgkYXJyIGFzICRpID0+ICYkYSkgewogICAgZm9yZWFjaCAoJGEgYXMgJGogPT4gJHYpIHsKICAgICAgICBpZiAoJHYgIT09ICcwJykgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAKICAgICAgICBpZiAoIWFycmF5X2tleV9leGlzdHMoJGktMSwgJGFycikgfHwgJGFyclskaS0xXVskal0gIT09ICcwJ3x8ICRhcnJbJGktMV1bJGpdID09ICdYJykgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAKICAgICAgICBpZiAoIWFycmF5X2tleV9leGlzdHMoJGorMSwgJGEpIHx8ICRhWyRqKzFdICE9PSAnMCd8fCAkYVskaisxXSA9PSAnWCcpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogCiAgICAgICAgaWYgKCFhcnJheV9rZXlfZXhpc3RzKCRpKzEsICRhcnIpIHx8ICRhcnJbJGkrMV1bJGpdICE9PSAnMCd8fCAkYXJyWyRpKzFdWyRqXSA9PSAnWCcpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogCiAgICAgICAgaWYgKCFhcnJheV9rZXlfZXhpc3RzKCRqLTEsICRhKSB8fCAkYVskai0xXSAhPT0gJzAnfHwgJGFbJGotMV0gPT0gJ1gnKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KIAogICAgICAgICRhcnJbJGldWyRqXSA9ICdYJzsKICAgIH0KfQp1bnNldCgkYSk7CiAKZWNobwogICAgIlxuXG5BZnRlcjpcblxuIiwKICAgIGltcGxvZGUoCiAgICAgICAgIlxuIiwKICAgICAgICBhcnJheV9tYXAoCiAgICAgICAgICAgIGZ1bmN0aW9uICgkYSkgeyByZXR1cm4gaW1wbG9kZSgnJywgJGEpOyB9LAogICAgICAgICAgICAkYXJyCiAgICAgICAgKQogICAgKTs=