Ingresso:
Due stringhe (NOTA: l'ordine di input è importante).
Produzione:
Entrambe le parole / frasi iniziano su righe con una riga vuota tra loro. 'Camminano' orizzontalmente 'uno accanto all'altro'. Ma quando hanno lo stesso personaggio nella stessa posizione, si incrociano e poi continuano a camminare "uno accanto all'altro".
Confuso dici? Facciamo un esempio:
Input: Words crossing over& Ducks quacking:
Word quack n
s i g
Duck cross n over
Regole della sfida:
- Ritorniamo sempre a camminare su una linea retta dopo aver "attraversato" prima di poter incrociare di nuovo (vedere il caso di prova sopra {1} - dove
ingè uguale, ma dopo aver attraversatoi, dobbiamo prima tornare indietro camminare dritto (ignorando cosìn), prima di poter attraversare di nuovog). - Gli ingressi possono avere una lunghezza diversa, nel qual caso quello più lungo continua a camminare in linea retta (vedere i casi di test 1, 2, 4 e 6).
- Entrambi gli ingressi possono essere uguali (vedi test case 3).
- Gli input non conterranno alcuna scheda né nuova riga.
- Gli spazi vengono ignorati come caratteri uguali (come un caso limite) , nel qual caso il carattere successivo (non spaziale) dopo quello - se presente - viene invece attraversato (vedi casi di test 3, 5 e 6).
- Gli ingressi non possono avere caratteri adiacenti (non spaziali) nella stessa posizione, nel qual caso entrambi camminano semplicemente in linea retta in orizzontale (vedere i casi di test 2).
- Anche se il primo carattere è uguale, iniziamo sempre a separare due righe (vedere i casi di test 3 e 6).
- Gli spazi finali e una singola nuova riga finale sono facoltativi.
- Puoi presumere che gli input conterranno solo caratteri ASCII stampabili (nuove righe e schede escluse).
- Gli ingressi sono case-sensitive, quindi
Aeanon sono uguali, e non attraversare (vedi caso di test 7). - Entrambe le lunghezze degli ingressi saranno sempre almeno 2.
- Input e output possono essere in qualsiasi formato ragionevole. Può essere una singola stringa con new-line; una stringa-array / elenco; stampato su STDOUT; Matrice 2D di caratteri; eccetera.
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 test:
1. Input: "Words crossing over" & "Ducks quacking"
1. Output:
Word quack n
s i g
Duck cross n over
2. Input: "bananas" & "ananas"
2. Output:
bananas
ananas
3. Input: "I see my twin!" & "I see my twin!"
3. Output:
I e y w n
s e m t i !
I e y w n
4. Input: "Is the weather nice?" & "Not really, no.."
4. Output:
Is th ally, no..
e
Not r weather nice?
5. Input: "Codegolf & Programming Puzzles" & "The golfer might solve puzzles"
5. Output:
Code o f & Programming P z l s
g l u z e
The o fer might solve p z l s
6. Input: "Can you turn the lights off?" & "Can you try to solve this?"
6. Output:
C n o urn the ve s off?
a y u t l t
C n o ry to so igh his?
7. Input: "one Ampere" & "two apples"
7. Output:
one Am les
p
two ap ere
8. Input: "Words crossing" & "Words Quacking"
8. Output:
W r s cross n
o d i g
W r s Quack n
