Parole Crociate

1
PAROLE CROCIATE L’estate si avvicina e una delle attività preferite di Riccardo, quando è in vacanza, è fare le pa- role crociate. Ritenendosi (a torto o a ragione) troppo bravo per le parole crociate delle riviste di enigmistica, Riccardo decide di crearsi da sé delle parole crociate e chiede a voi un aiuto per scrivere un programma. Il programma utilizza 2 parole, A e B. A deve essere sempre scritta in orizzontale e B sempre in verticale, in modo che si incrocino (cioè che condividano un’unica lettera). La lettera condivisa deve essere la prima lettera di A che è contenuta anche in B, e in partico- lare la prima occorrenza della stessa lettera in entrambe le parole. Per esempio, se A=”ABBA” e B=”CCBB”, le parole si devono incrociare nel modo seguente: .C.. .C.. ABBA .B.. Input La prima e unica riga di input contiene 2 parole, A e B, entrambe di al più 10 caratteri e sepa- rate da uno spazio. Ambedue le parole contengono solo lettere dell’alfabeto inglese maiuscole. Assunzione : A e B contengono sicuramente almeno una lettera in comune. Output Sia N la lunghezza di A e M la lunghezza di B. L’output deve essere una griglia di M righe, o- gnuna delle quali di N caratteri. La griglia di caratteri deve contenere le parole che si incrociano (nel modo descritto in prece- denza) e il carattere ‘.’ (senza apici) in tutte le altre posizioni. La griglia deve quindi essere completamente riempita. Esempi di test input 1 LUCE BUIO output 1 .B.. LUCE .I.. .0.. input 2 ALLENA MENTI output 2 ...M.. ALLENA ...N.. ...T.. ...I.. input 3 ALGORITMI CLASSICI output 3 C........ L........ ALGORITMI S........ S........ I........ C........ I........

description

Algoritmi per parole crociate

Transcript of Parole Crociate

Page 1: Parole Crociate

PAROLE CROCIATE

L’estate si avvicina e una delle attività preferite di Riccardo, quando è in vacanza, è fare le pa-role crociate. Ritenendosi (a torto o a ragione) troppo bravo per le parole crociate delle riviste di enigmistica, Riccardo decide di crearsi da sé delle parole crociate e chiede a voi un aiuto per scrivere un programma.

Il programma utilizza 2 parole, A e B. A deve essere sempre scritta in orizzontale e B sempre in verticale, in modo che si incrocino (cioè che condividano un’unica lettera). La lettera condivisa deve essere la prima lettera di A che è contenuta anche in B, e in partico-lare la prima occorrenza della stessa lettera in entrambe le parole. Per esempio, se A=”ABBA” e B=”CCBB”, le parole si devono incrociare nel modo seguente:

.C..

.C.. ABBA .B..

Input

La prima e unica riga di input contiene 2 parole, A e B, entrambe di al più 10 caratteri e sepa-rate da uno spazio. Ambedue le parole contengono solo lettere dell’alfabeto inglese maiuscole. Assunzione: A e B contengono sicuramente almeno una lettera in comune.

Output

Sia N la lunghezza di A e M la lunghezza di B. L’output deve essere una griglia di M righe, o-gnuna delle quali di N caratteri. La griglia di caratteri deve contenere le parole che si incrociano (nel modo descritto in prece-denza) e il carattere ‘.’ (senza apici) in tutte le altre posizioni. La griglia deve quindi essere completamente riempita.

Esempi di test

input 1

LUCE BUIO

output 1

.B.. LUCE .I.. .0..

input 2

ALLENA MENTI

output 2

...M.. ALLENA ...N.. ...T.. ...I..

input 3

ALGORITMI CLASSICI

output 3

C........ L........ ALGORITMI S........ S........ I........ C........ I........