Esercizio 1

Scrivere un programma che verifichi se una griglia di numeri rappresenta una possibile soluzione per il "gioco del cento".
Il gioco si svolge su una scacchiera 10 per 10.
A partire da una posizione determinata si deve cercare di numerare tutte le caselle con un numero progressivo a partire da 1.
Una volta numerata una casella, la casella successiva potrà essere o collocata a distanza di due caselle se questa si trova sulla stessa riga o sulla stessa colonna o collocata a distanza di una casella se si trova in diagonale.
Il programma deve accettare in input da linea di comando il nome del file contenente la griglia di numeri da esaminare e deve fornire in output una frase che informi se il file contiene la rappresentazione di una soluzione valida al gioco del cento o meno.

Il file deve essere un file di testo contenente i valori nelle diverse caselle e dei caratteri di delimitazione della griglia; ogni casella della griglia deve essere di uguale dimensione. A delimitazione dei vertici della griglia deve essere usato il carattere +, per le separazioni orizzontali e verticali, rispettivamente, i caratteri - e | come nel seguente esempio:

+---+---+---+---+---+---+---+---+---+---+
|1  | 28|61 | 2 | 27|62 | 3 | 26| 63| 4 |
+---+---+---+---+---+---+---+---+---+---+
|84 | 52| 23| 85| 53| 22|86 |58 |21 |87 |
+---+---+---+---+---+---+---+---+---+---+
|45 |79 | 94| 44| 74| 93| 43| 73| 92|42 |
+---+---+---+---+---+---+---+---+---+---+
|14 |29 |60 |13 | 24| 59| 12|25 |64 |5  |
+---+---+---+---+---+---+---+---+---+---+
|83 |51 | 18| 80|54 |19 |91 |57 |20 |88 |
+---+---+---+---+---+---+---+---+---+---+
|46 |78 |95 |49 |75 |98 | 38| 72| 99| 41|
+---+---+---+---+---+---+---+---+---+---+
|15 |30 |69 | 10| 33|70 |11 |34 |65 |6  |
+---+---+---+---+---+---+---+---+---+---+
|82 |50 |17 |81 | 55| 36| 90|56 |37 |89 |
+---+---+---+---+---+---+---+---+---+---+
|47 |77 |96 |48 | 76| 97| 39|71 |100| 40|
+---+---+---+---+---+---+---+---+---+---+
|16 |31 | 68| 9 | 32|67 |  8| 35| 66| 7 |
+---+---+---+---+---+---+---+---+---+---+

I numeri all'interno delle caselle della griglia possono essere allineati in qualunque maniera.

Esercizio 2

Si scriva un programma che accetti da linea di comando come parametri due stringhe e fornisca in output il numero di occorrenze della prima stringa nella seconda.
Si realizzi tale funzionalità attraverso un algoritmo ricorsivo.
I metodi della classe String utilizzabili per questo esercizio sono solo substring e startsWith.

Esempio:

date in input le stringhe 'aba' e 'ababa' il programma dovrà visualizzare in numero 2.