Sfida:
Ingresso:
Prendi due input:
- Una stringa contenente solo ASCII stampabile (esclusi spazi, tabulazioni o nuove righe)
- Un carattere ASCII stampabile
Produzione:
La prima riga conterrà l'input della stringa. Ogni prima i
-modulo-3 prima occorrenza di questo personaggio si sposterà in direzione sud-est; ogni i
occorrenza di -modulo-3 secondi si sposterà in direzione sud; e ogni i
terzo evento -modulo-3 si sposterà in direzione sud-ovest. Continuerai fino a quando i caratteri stanno per essere di nuovo nella loro posizione iniziale iniziale (il che significa che si avvolgerà da una parte all'altra, se necessario), quindi stamperai di nuovo l'ultima riga con l'input di stringa su finiscilo. (Si noti che tutti i casi di test finiranno al loro input iniziale dopo al massimo le length(input)
righe, inclusa la riga che contiene l'input finale. Può essere prima però, come visto in questo primo caso di test di seguito, con una lunghezza di 14, ma termina dopo 9.)
Questo può essere abbastanza vago, quindi ecco un esempio:
Caso di prova 1:
Input di stringa: Input di "This_is_a_test"
carattere:'s'
Produzione:
This_is_a_test
s s s
ss s
s s
sss
sss
s s
ss s
s s s
This_is_a_test
Ecco lo stesso test case con i percorsi colorati dei tre s
:
dove il primo 's'
segue il sentiero verde in direzione sud-est; il secondo 's'
segue il sentiero giallo in direzione sud; e il terzo 's'
segue il sentiero azzurro in direzione sud-ovest. (Se ce ne fosse un quarto 's'
, andrebbe di nuovo in una direzione sud-est, che può essere visto in alcuni degli altri casi di test di seguito.)
Regole della sfida:
- Gli input conterranno solo ASCII stampabili (esclusi spazi, tabulazioni e nuove righe)
- I formati I / O sono flessibili. Può essere una stringa delimitata da una nuova riga, una matrice di caratteri, ecc. La tua chiamata.
- È possibile che il carattere specificato non sia presente nella stringa, nel qual caso ti è permesso di produrre la stringa di input una o due volte (cioè
"test", 'a'
puoi avere uno di questi come output possibile:"test\ntest"
/"test"
). - Gli spazi guida sono obbligatori; gli spazi finali sono facoltativi. Sono consentite una o più nuove righe iniziali / finali.
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Per la tua risposta valgono regole standard , quindi puoi usare STDIN / STDOUT, funzioni / metodo con i parametri corretti e tipo di ritorno, programmi completi. La tua chiamata.
- Sono vietate le scappatoie predefinite .
- Se possibile, aggiungi un link con un test per il tuo codice.
- Inoltre, si prega di aggiungere una spiegazione, se necessario.
Casi di prova / altri esempi:
Caso di prova 2:
Input di stringa: Input di "abcabcabcabcabc"
carattere:'b'
Produzione:
abcabcabcabcabc
b b b b b
bbb bb
b b
bbb bb
b b b b b
b b b b
b b b b b
bb b bb
b b b
bb bbb
b b bbb
b b b b
b bb bb
b b bb b
abcabcabcabcabc
Ecco lo stesso test case con i percorsi colorati dei cinque a
:
Caso di prova 3:
Input di stringa: Input di "only_two_paths?"
carattere:'o'
Produzione:
only_two_paths?
o o
o o
o o
o o
o o
oo
o
oo
o o
o o
o o
o o
o o
o o
only_two_paths?
Ecco lo stesso test case con i percorsi colorati dei due o
:
Caso di prova 4:
Input stringa: "lollollollollol"
input carattere:'l'
Produzione:
lollollollollol
lll ll ll
ll ll ll
l ll ll ll ll
lll l ll l ll
llllll ll ll
l l ll ll
ll lll ll
l l l lll ll l
ll l ll l l
l l l l llll l
ll lll lll
l l l ll
ll lll lllll
l l l ll l ll
lollollollollol
Ecco lo stesso test case con i percorsi colorati dei dieci l
:
Caso di prova 5:
Input stringa: "AbCdEeDcBaAbCdEeDcBa_CCCCC"
input carattere:'C'
Produzione:
AbCdEeDcBaAbCdEeDcBa_CCCCC
C C C C C
C C C C CCC
C C C C C C C
C C C C C C C
C C C C C C C
C C C C C C C
C C C C C C C
C C C CC C C
C C CC C C
C C CC C C
C C CC C
CC CC C C
CC CC C C
C C CC C C
C C CC C C C
C C C C C C
C C CC C C C
C C C C C C C
C C C C C C C
C C C C C CC
C C C C C C
C C C C CCC
C C C CCCC
C C C C
C C CCCCC
AbCdEeDcBaAbCdEeDcBa_CCCCC
Ecco lo stesso test case con i percorsi colorati dei sette C
:
Caso di prova 6:
Input stringa: "XyX"
input carattere:'X'
Produzione:
XyX
XX
X
XyX
Ecco lo stesso test case con i percorsi colorati dei due X
:
Caso di prova 7:
Input stringa: "aaaa"
input carattere:'a'
Produzione:
aaaa
aa
aaa
aaa
aaaa
Ecco lo stesso test case con i percorsi colorati dei quattro a
:
length(input)
tutto combacia di nuovo, ma può essere prima come dimostra il primo caso di test. Ma sembra che tu abbia davvero ragione sul multiplo di 3 parti (anche se non sono sicuro al 100%).