<?php
$players = range(1, 32);
$count = count($players);
// Order players.
for ($i = 0; $i < log($count / 2, 2); $i++) {
$out = array();
foreach ($players as $player) {
$splice = pow(2, $i);
$out = array_merge($out, array_splice($players, 0, $splice));
$out = array_merge($out, array_splice($players, -$splice));
}
$players = $out;
}
// Print match list.
for ($i = 0; $i < $count; $i++) {
printf('%s vs %s<br />%s', $players[$i], $players[++$i], PHP_EOL);
}
?>
preferences:
38.59 ms | 402 KiB | 5 Q