Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $input = 3214;
- $grid = [];
- $x = 1;
- while ($x < 301){
- $y = 1;
- $rack_id = $x + 10;
- while ($y < 301) {
- $power_level = $rack_id * $y;
- $power_level += $input;
- $power_level *= $rack_id;
- if ($power_level < 100) {
- $power_level = 0;
- } else {
- $power_level = substr($power_level, -3, 1);
- }
- $power_level -= 5;
- $grid[$x][$y] = $power_level;
- $y++;
- }
- $x++;
- }
- $strongest_power_level = [
- 'cell' => [
- 'x' => null,
- 'y' => null,
- 'size' => null,
- ],
- 'level' => null,
- ];
- $square_power_levels = [];
- foreach ($grid as $x => $y_row) {
- foreach ($y_row as $y => $power_level) {
- $size = 1;
- $this_power_level = 0;
- while ($size <= (301 - $x) && $size <= (301 - $y)) {
- $x_pointer = $x;
- while ($x_pointer < $x + $size) {
- $this_power_level += $grid[$x_pointer][$y + $size - 1];
- $x_pointer++;
- }
- $y_pointer = $y;
- while ($y_pointer < ($y + $size - 1)) {
- $this_power_level += $grid[$x + $size - 1][$y_pointer];
- $y_pointer++;
- }
- if ($this_power_level > $strongest_power_level['level'] || $strongest_power_level['level'] === null) {
- $strongest_power_level['cell']['x'] = $x;
- $strongest_power_level['cell']['y'] = $y;
- $strongest_power_level['cell']['size'] = $size;
- $strongest_power_level['level'] = $this_power_level;
- }
- $size++;
- }
- }
- }
- echo $strongest_power_level['cell']['x'] . "," . $strongest_power_level['cell']['y'] . "," . $strongest_power_level['cell']['size'];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement