commit 0ef619e0344e65aeb8871edd319111b460288c7f Author: Simon Vieille Date: Mon Mar 2 19:42:39 2015 +0100 Solutions diff --git a/FACILE/ASCII Art/script.php b/FACILE/ASCII Art/script.php new file mode 100644 index 0000000..c638e54 --- /dev/null +++ b/FACILE/ASCII Art/script.php @@ -0,0 +1,38 @@ + $line) { + $outputLines[$k] .= substr($lines[$k], $offsetLeft, $L); + } +} + +echo implode("\n", $outputLines), "\n"; \ No newline at end of file diff --git a/FACILE/Chevaux de course/script.php b/FACILE/Chevaux de course/script.php new file mode 100644 index 0000000..4444385 --- /dev/null +++ b/FACILE/Chevaux de course/script.php @@ -0,0 +1,40 @@ + \ No newline at end of file diff --git a/FACILE/Chuck Norris/script.php b/FACILE/Chuck Norris/script.php new file mode 100644 index 0000000..843f1e0 --- /dev/null +++ b/FACILE/Chuck Norris/script.php @@ -0,0 +1,51 @@ + $defib) { + $la2 = f($defib[5]); + $lo2 = f($defib[4]); + + $x = ($lo2 - $lo1) * cos(($la1 + $la2) / 2); + $y = ($la2 - $la1); + + $d = sqrt($x*$x + $y*$y) * 6371; + + if (null === $distance || $d < $distance) { + $distance = $d; + $key = $k; + } +} +// Write an action using echo(). DON'T FORGET THE TRAILING \n +// To debug (equivalent to var_dump): error_log(var_export($var, true)); + +echo $defibs[$key][1], "\n"; +?> \ No newline at end of file diff --git a/FACILE/La descente/script.php b/FACILE/La descente/script.php new file mode 100644 index 0000000..d74ab14 --- /dev/null +++ b/FACILE/La descente/script.php @@ -0,0 +1,51 @@ + $v) { + if ($tolder === null) { + $key = $k; + $tolder = $v; + } else { + if ($v > $tolder) { + $key = $k; + $tolder = $v; + } + } + } + + if ($SX === $key) { + echo "FIRE\n"; + } else { + echo "HOLD\n"; + } +} +?> \ No newline at end of file diff --git a/FACILE/Le pouvoir de Thor/script.php b/FACILE/Le pouvoir de Thor/script.php new file mode 100644 index 0000000..c9dcffe --- /dev/null +++ b/FACILE/Le pouvoir de Thor/script.php @@ -0,0 +1,104 @@ += $LT) { + echo "N\n"; + $TY--; + } else { + $TY++; + echo "S\n"; + } + } + + if ($TY === $LY) { + if ($TX > $LX) { + echo "W\n"; + $TX--; + } else { + echo "E\n"; + $TX++; + } + } + + if ($TX > $LX && $LY > $TY) { + if (($TX - $LX) > ($LY - $TY)) { + echo "W\n"; + $TX--; + } + elseif (($TX - $LX) < ($LY - $TY)) { + echo "S\n"; + $TY++; + } + else { + $TY++; + $TX--; + echo "SW\n"; + } + } + + if ($TX < $LX && $LY > $TY) { + if ($LX - $TX > $LY - $TY) { + echo "E\n"; + $TX++; + } + elseif ($LX - $TX < $LY - $TY) { + echo "S\n"; + $TY++; + } + else { + echo "SE\n"; + $TY++; + $TX++; + } + } + + if ($TX > $LX && $LY < $TY) { + if ($TX - $LX > $TY - $LY) { + echo "W\n"; + $TX--; + } + elseif ($TX - $LX < $TY - $LY) { + echo "N\n"; + $TY--; + } + else { + echo "NW\n"; + $TX--; + $TY--; + } + } + + if ($TX < $LX && $LY < $TY) { + if ($LX - $TX > $TY - $LY) { + echo "E\n"; + $TX++; + } + elseif ($LX - $TX < $TY - $LY) { + echo "N\n"; + $TY--; + } + else { + echo "NE\n"; + $TX++; + $TY--; + } + } +} \ No newline at end of file diff --git a/FACILE/MIME Type/script.php b/FACILE/MIME Type/script.php new file mode 100644 index 0000000..7b857b4 --- /dev/null +++ b/FACILE/MIME Type/script.php @@ -0,0 +1,45 @@ + 0) { + echo -$R, ' 0', "\n"; + } else { + echo $R, ' 0', "\n"; + } + } + + error_log(var_export($VS, true)); + if ($Y > 2300) { + echo 0, ' 1', "\n"; + } + elseif ($Y > 1900) { + echo 0, ' 2', "\n"; + } + else { + if ($VS < -39) { + echo 0, ' 4', "\n"; + } else { + echo '0 0', "\n"; + } + } +} +?> \ No newline at end of file diff --git a/FACILE/Onboarding/script.php b/FACILE/Onboarding/script.php new file mode 100644 index 0000000..39cf06e --- /dev/null +++ b/FACILE/Onboarding/script.php @@ -0,0 +1,28 @@ + \ No newline at end of file diff --git a/FACILE/Skynet : le saut/script.php b/FACILE/Skynet : le saut/script.php new file mode 100644 index 0000000..ff53c75 --- /dev/null +++ b/FACILE/Skynet : le saut/script.php @@ -0,0 +1,46 @@ += $R + $G) { + echo("SLOW\n"); + } + elseif ($G == $S - 1) { + echo("WAIT\n"); + } + else { + echo("SPEED\n"); // A single line containing one of 4 keywords: SPEED, SLOW, JUMP, WAIT. + } +} +?> \ No newline at end of file diff --git a/FACILE/Températures/script.php b/FACILE/Températures/script.php new file mode 100644 index 0000000..1c17566 --- /dev/null +++ b/FACILE/Températures/script.php @@ -0,0 +1,46 @@ + $v) { + $d = abs((int) $v); + + if ($diff === null) { + $key = $k; + $diff = $d; + continue; + } + + if ($d === $diff && $v > $TEMPS[$key]) { + $key = $k; + $diff = $d; + continue; + } + + if ($d < $diff) { + $key = $k; + $diff = $d; + } +} + +// Write an action using echo(). DON'T FORGET THE TRAILING \n +// To debug (equivalent to var_dump): error_log(var_export($var, true)); + +echo $TEMPS[$key], "\n"; + +?> \ No newline at end of file diff --git a/MOYEN/Mars Lander - Niveau 2/script.php b/MOYEN/Mars Lander - Niveau 2/script.php new file mode 100644 index 0000000..539a2b2 --- /dev/null +++ b/MOYEN/Mars Lander - Niveau 2/script.php @@ -0,0 +1,61 @@ + 0 ? -1 : 1; + + if ($LAND_X < $X) { + r(50 * $q, $SPEED); + } else { + r(-50 * $q, $SPEED); + } + } +} +?> \ No newline at end of file diff --git a/MOYEN/Teads Sponsored Challenge/script.php b/MOYEN/Teads Sponsored Challenge/script.php new file mode 100644 index 0000000..5edb58f --- /dev/null +++ b/MOYEN/Teads Sponsored Challenge/script.php @@ -0,0 +1,111 @@ +setParent($this); + $this->children[] = $node; + } + + public function getChildren() + { + return $this->children; + } + + public function setParent(Node $node) + { + $this->parent = $node; + } + + public function getParent() + { + return $this->parent; + } +} + +class Nodes +{ + protected static $nodes = []; + + public static function addNode($key, Node $node) + { + self::$nodes[$key] = $node; + } + + public static function get($key) + { + return isset(self::$nodes[$key]) ? self::$nodes[$key] : null; + } + + public static function getNodes() + { + return self::$nodes; + } +} + +$rootNode = null; + +for ($i = 0; $i < $n; $i++) +{ + fscanf(STDIN, "%d %d", + $xi, // the ID of a person which is adjacent to yi + $yi // the ID of a person which is adjacent to xi + ); + + $parent = Nodes::get($xi); + $child = Nodes::get($yi); + + if (null === $parent) { + $parent = new Node(); + Nodes::addNode($xi, $parent); + + if ($rootNode === null) { + $rootNode = $parent; + } + } + + if (null === $child) { + $child = new Node(); + Nodes::addNode($yi, $child); + } + + $parent->addChild($child); +} + +$depth = 0; + +foreach (Nodes::getNodes() as $k => $node) { + if ($node->getChildren()) { + continue; + } + + $d = 0; + $p = $node->getParent(); + + while ($p) { + $d++; + $p = $p->getParent(); + } + + if ($d > $depth) { + $depth = $d; + } +} +// Write an action using echo(). DON'T FORGET THE TRAILING \n +// To debug (equivalent to var_dump): error_log(var_export($var, true)); + +echo("$depth\n"); // The minimal amount of steps required to completely propagate the advertisement +?> \ No newline at end of file