UTILS.
100% nel browser
🎅

Generatore di Secret Santa

Assegna casualmente le coppie di regali del Secret Santa così che ognuno doni e riceva una volta, con coppie di esclusione opzionali. Gira interamente offline nel tuo browser.

Strumento per l'organizzatore a singolo dispositivo — rivela l'intera lista, quindi usalo in privato.
— l'output appare qui —

Informazioni su questo strumento

Il Generatore di Secret Santa abbina casualmente un gruppo per uno scambio di regali così che ognuno doni esattamente un regalo e ne riceva esattamente uno — e nessuno estragga il proprio nome. Incolla un nome per riga, aggiungi le coppie di esclusione che ti servono (per esempio, così una coppia non venga abbinata tra loro) e fai clic su Assegna.

Sotto il cofano costruisce un derangement valido usando un'assegnazione ciclica: i nomi vengono mescolati con un mescolamento Fisher-Yates guidato dal generatore casuale crittografico del browser (crypto.getRandomValues), poi ogni persona nell'ordine mescolato dona alla persona successiva lungo il ciclo, con l'ultima che dona alla prima. Un singolo ciclo garantisce nessun auto-abbinamento e che ognuno doni e riceva una volta. Per rispettare le esclusioni, lo strumento rimescola fino a un paio di migliaia di volte finché non trova una disposizione che non infranga alcuna regola; se i tuoi vincoli non possono essere soddisfatti, te lo comunica invece di restituire una lista errata.

Questo è uno strumento a singolo dispositivo per l'organizzatore — mostra sullo schermo l'intera lista di chi dona a chi, quindi usalo in privato. Tutto avviene localmente nel tuo browser: nulla viene caricato e funziona offline. Inserisci le esclusioni come due nomi per riga separati da una virgola, due punti o trattino (per esempio, "Alex, Jordan").

Domande frequenti

Qualcuno può essere assegnato a fare un regalo a se stesso?
Mai. L'assegnazione è un singolo derangement ciclico, che garantisce matematicamente che nessuna persona sia abbinata a se stessa e che ognuno doni una volta e riceva una volta.
Come impedisco che una coppia venga abbinata?
Aggiungi una riga di esclusione con entrambi i nomi separati da una virgola, due punti o trattino, es. "Alex, Jordan". Le esclusioni sono bidirezionali, quindi nessuna delle due persone può estrarre l'altra. Aggiungi tutte le righe di esclusione che ti servono.
E se le mie esclusioni non possono essere soddisfatte?
Lo strumento rimescola fino a un paio di migliaia di volte cercando una disposizione valida. Se nessuna assegnazione può rispettare ogni esclusione (per esempio, troppe regole sovrapposte), segnala che i vincoli sono impossibili invece di restituire una lista non valida.
L'estrazione è privata e funziona offline?
Questo è uno strumento per l'organizzatore che mostra l'intera lista su un unico schermo, quindi usalo dove i giocatori non possono vederlo. Gira interamente nel tuo browser con il generatore casuale crittografico locale — nulla viene caricato e funziona offline.

Altri strumenti