Ejemplo n.º 1
0
            } else {
                if ($direction == ">") {
                    $newPosition = array($position[0] + 1, $position[1]);
                } else {
                    $newPosition = array($position[0] - 1, $position[1]);
                }
            }
        }
        // Save the position back to the relevent person
        if ($robo) {
            $roboPosition = $newPosition;
        } else {
            $santaPosition = $newPosition;
            $robo = $robo + 1;
        }
        deliverPresent($newPosition);
    }
}
echo $duplicateDeliveries;
function deliverPresent($position)
{
    // 2007 throwback
    // Should really be using a class
    global $duplicateDeliveries, $houses;
    $x = $position[0];
    $y = $position[1];
    if (!isset($houses[$x][$y])) {
        // They haven't had a present before
        $houses[$x][$y] = 1;
        // We only care about the first duplicate delivery
        return $duplicateDeliveries = $duplicateDeliveries + 1;
Ejemplo n.º 2
0
foreach (str_split($input) as $direction) {
    if ($direction == "^") {
        $newPosition = array($position[0], $position[1] + 1);
    } else {
        if ($direction == "v") {
            $newPosition = array($position[0], $position[1] - 1);
        } else {
            if ($direction == ">") {
                $newPosition = array($position[0] + 1, $position[1]);
            } else {
                $newPosition = array($position[0] - 1, $position[1]);
            }
        }
    }
    $position = $newPosition;
    deliverPresent($position);
}
echo $duplicateDeliveries;
function deliverPresent($position)
{
    // 2007 throwback
    // Should really be using a class
    global $duplicateDeliveries, $houses;
    $x = $position[0];
    $y = $position[1];
    if (!isset($houses[$x][$y])) {
        // They haven't had a present before
        $houses[$x][$y] = 1;
        // We only care about the first duplicate delivery
        return $duplicateDeliveries = $duplicateDeliveries + 1;
    }