aboutsummaryrefslogtreecommitdiff
path: root/challenge-270/2colours/php/ch-1.php
blob: a648391f0a991b775c21ab20dcdb0d78bf998a88 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php

$matrix = json_decode(file_get_contents('php://stdin'));
$solutions = $matrix;

foreach ($matrix as $row => $content) {
        $valid_row = array_sum($content) === 1;
        foreach ($solutions[$row] as &$value) {
                $value *= $valid_row;
        }
}
foreach (array_map(null, ...$matrix) as $column => $content) {
        $valid_column = array_sum($content) === 1;
        foreach (array_keys($solutions) as $row) {
                $solutions[$row][$column] *= $valid_column;
        }
}

$result = 0;
array_walk_recursive($solutions, function ($elem) use (&$result) { $result += $elem; });
echo $result;