La maggior parte delle persone ha familiarità con il trope sul contare le pecore per addormentarsi. C'è un gregge di pecore, alcune delle quali saltano sopra una recinzione e tu conti le pecore mentre saltano. Presumibilmente, questo aiuta a calmare la mente e ti porta in uno stato simile al sonno in modo che ti addormenti.
Ecco una pecora ASCII rivolta a destra, in attesa di essere contata:
'00^>
||
Ecco una pecora ASCII che salta sopra una recinzione:
'00^>
/\
++
Eccone uno rivolto a sinistra, essendo già stato contato:
<^00'
||
La sfida
Dati due numeri interi di input ne m, n > 2descrivendo il numero totale di pecore e m > 0dicendo quante pecore sono già state contate, ha prodotto una rappresentazione in arte ASCII del conteggio delle pecore per addormentarsi.
Ora per il colpo di scena:
- A causa delle dimensioni delle penne in cui si trovano le pecore, la fila superiore può contenere solo un massimo di
10pecore, senza contare le pecore che saltano attualmente, che devono anche essere sempre nella fila superiore. - Le file successive non possono avere le pecore al di fuori delle rispettive penne (non puoi avere più pecore a sinistra nella seconda fila di quante ne trovi nella prima fila, e lo stesso vale per la destra).
- Se ci sono
11o più pecore totali, la fila superiore deve contenere10più le pecore che saltano in essa. - Gli spazi bianchi iniziali / finali e gli spazi bianchi tra le pecore non contano, purché:
- C'è un minimo di un carattere spazio tra le pecore
- Tutti i personaggi si allineano in modo appropriato.
Finché vengono rispettate queste regole, l'effettiva disposizione delle pecore dipende dalla vostra implementazione.
Esempi
Ad esempio, ecco n=3e m=1, il caso più semplice.
'00^>
'00^> /\ <^00'
|| ++ ||
Ecco n=11e m=6, la maggior parte delle pecore che possono stare su una linea orizzontale.
'00^>
'00^> '00^> '00^> '00^> /\ <^00' <^00' <^00' <^00' <^00' <^00'
|| || || || ++ || || || || || ||
Ecco un diverso esempio di ciò, con n=11em=1
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00'
|| || || || || || || || || ++ ||
Un esempio più grande con n=30em=12
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00' <^00'
|| || || || || || || || ++ || ||
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> <^00' <^00'
|| || || || || || || || || ||
'00^> <^00' <^00'
|| || ||
<^00' <^00'
|| ||
<^00' <^00'
|| ||
<^00' <^00'
|| ||
Ecco un esempio con n=17em=2
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00' <^00'
|| || || || || || || || ++ || ||
'00^> '00^> '00^> '00^> '00^> '00^>
|| || || || || ||
Ecco un esempio con n=19em=3
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00' <^00' <^00'
|| || || || || || || ++ || || ||
'00^> '00^> '00^> '00^> '00^> '00^> '00^>
|| || || || || || ||
'00^>
||
Si noti che tutti questi sono esempi . Per l'ultimo, potresti finire creando una serie verticale di pecore sul lato destro, che consentirà invece al lato sinistro di adattarsi su due file. O forse un quadrato 2x2 di pecore sul lato destro, che si adatterebbe anche sul lato sinistro delle pecore su due file. Eccetera.
I / O e regole
- L'input può essere preso in qualsiasi formato ragionevole e con qualsiasi metodo conveniente .
- Le linee guida iniziali / finali o altri spazi bianchi sono opzionali, a condizione che i caratteri siano allineati in modo appropriato.
- È accettabile un programma completo o una funzione. Se una funzione, è possibile restituire l'output anziché stamparlo.
- L'output può essere sulla console, restituito come un elenco di stringhe, restituito come singola stringa, ecc.
- Sono vietate le scappatoie standard .
- Si tratta di code-golf, quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).
n=11em=9
n=11questo 0<m<=10. Questo ti costringe ad avere tutte le pecore nella riga superiore e un numero dinamico di pecore a sinistra ( n-1-m) e a destra ( m) della recinzione e non è possibile utilizzare dimensioni di penna fisse.