<?php
$input = "turn off 499,499 through 500,500";
$lights = [[]];
for($i = 0; $i<1000; $i++){
for($j = 0; $j<1000; $j++){
$lights[$i][$j] = 0;
}
}
//$inputs = explode("\n",$input);
function action($s){
$on = preg_match("/turn on/",$s);
$off = preg_match("/turn off/",$s);
$toggle = preg_match("/toggle/",$s);
if($on > 0){
return 1;
}
else if($off>0){
return 2;
}
else if($toggle>0){
return 3;
}
}
//for($i = 0; $i < count($inputs); $i++){
$matches = null;
preg_match_all("/\d{1,3},\d{1,3}/",$input, $matches);
$from = $matches[0][0];
$to = $matches[0][1];
$x1 = explode(",",$from)[0];
$y1 = explode(",",$from)[0];
$x2 = explode(",",$to)[0];
$y2 = explode(",",$to)[1];
for($j = $y1; $j<=$y2; $j++){
for($k = $x1; $k<=$x2; $k++){
if(action($input)===1){
$lights[$j][$k] = 1;
}
else if(action($input)===2){
$lights[$j][$k] = 0;
}
else if(action($input)===3){
if($lights[$j][$k] === 0){
$lights[$j][$k] = 1;
}
else{
$lights[$j][$k] = 0;
}
}
}
}
//}
$count = 0;
for($i = 0; $i<1000; $i++){
for($j = 0; $j<1000; $j++){
if($lights[$i][$j] === 1){
$count++;
}
}
}
echo $count;
?>
preferences:
32.23 ms | 402 KiB | 5 Q