Dados Oficiais

Resultado Homologado (Final)
101821244347
  • 1º PCD: 2
  • 2º Social: 10
  • 3º Próximo: 2
  • 4º Irmãos: 0
  • 5º Ampla: 1
  • Total: 15
Regra de Negócio:
O sistema separa os candidatos em 5 blocos hierárquicos na ordem: PCD > Social > Próximo > Irmãos > Ampla. O sorteio ocorre dentro de cada grupo de forma independente usando Fisher-Yates.
Algoritmo de Sorteio (Lógica Hierárquica)
<?php
// 1. Contexto e Semente
$seed = "101821244347";
$status = "FINAL";

// 2. Função Determinística (Auditável)
function shuffleGroup($items, $subSeed) {
    $hashedSeed = hash('sha256', $subSeed);
    for ($i = count($items)-1; $i > 0; $i--) {
        $hash = hash_hmac('sha256', $i . $hashedSeed, $hashedSeed);
        $j = hexdec(substr($hash, 0, 8)) % ($i + 1);
        [$items[$i], $items[$j]] = [$items[$j], $items[$i]];
    }
    return $items;
}

// 3. Sorteio por Ordem de Prioridade (MODIFICADO)
$r1 = shuffleGroup($g1_pcd,    $seed . '_g1');
$r2 = shuffleGroup($g2_social, $seed . '_g2');
$r3 = shuffleGroup($g3_prox,   $seed . '_g3');
$r4 = shuffleGroup($g4_irm,    $seed . '_g4');
$r5 = shuffleGroup($g5_ampla,  $seed . '_g5');

// 4. Concatenar para Lista Final
print_r(array_merge($r1, $r2, $r3, $r4, $r5));