Tu e alcuni amici andate a bowling. Ci sono un totale di N giocatori. Tuttavia, ci sono solo sedie N -1 in cui sedersi. La soluzione è semplice: chiunque la giri al momento non ha una sedia. Quindi quando il loro turno è finito, si siedono sulla sedia della persona che va dopo.
Facciamo un esempio. Dici di essere nominato A , ei tuoi quattro amici si chiamano B , C , D , ed E . Ogni giocatore si muove in ordine alfabetico, quindi devi iniziare per primo. Dato che ci sono 5 giocatori, ci sono solo 4 posti. I tuoi amici si siedono nei quattro posti in questo ordine:
CEBD
Vai e fai uno sciopero! È il turno di B , quindi ti siedi sulla sua sedia. Ora sembra così:
CEAD
B va. Gutterball! Poi si siede in C posto s', e C va turno successivo.
BEAD
poi C si siede sulla sedia di D.
BEAC
e D si siede sulla sedia di E.
BDAC
e, infine, E si siede sulla tua sedia.
BDEC
Noterai che ora il posto di tutti è (pseudo) mescolato. Devi scoprire, dopo X giri, chi sarà seduto dove?
Ingresso
Il tuo programma deve ricevere due input dall'utente, una stringa e un numero. Non sono necessari prompt. La stringa avrà 1-51 caratteri alfabetici (BZ e az) senza ripetizioni. Questo rappresenta l'ordine in cui i tuoi amici hanno scelto di sedersi. Non ci sarà A maiuscola perché sei tu, e vai sempre per primo. Il numero sarà il numero totale di round (non i giochi) a cui tu e i tuoi amici giocate. Questo numero sarà positivo e di dimensioni ragionevoli (meno di 1000).
Produzione
Il tuo programma deve stampare l'ordine in cui si trovano i tuoi amici dopo X turni e di chi è il turno. Quindi, ad esempio, se dopo X giri l'ordine era BEDGCAHF ed era il turno Z , il tuo programma deve stampare esattamente questo:
BEDGCAHF
It is Z's turn.
Ecco alcuni esempi di input e output.
input: E, 4
E
It is A's turn.
input: E, 5
A
It is E's turn.
input: Bb, 2
AB
It is b's turn.
input: dgOPZXKDQYioHflFhpqzUsSaeILwckVNEtGTCJBvnruRyWMmjxb, 999
JNuvFDqjwEPVnMSlOWXgAZyGKordIRBtkamziphcUYbxfCsTQeH
It is L's turn.
Regole
Tutti vanno in ordine alfabetico, con le lettere maiuscole che hanno la precedenza su lettere minuscole.
Si tratta di code-golf, quindi si applicano scappatoie standard e gli invii vengono calcolati in byte .
{({}[()])({}<({}<(([])<{{}({}<>)<>([])}{}<>>)<>>)<>{({}[()]<({}<>)<>>)}{}<>>)}