Regole generali

Il tempo per portare a termine la prova è di tre ore.
La prova consta un unico esercizio, fare in modo che la classe principale (che contiene il main) dell'esercizio si chiami Esercizio.
Iniziare ogni file sorgente con un commento che contiene il cognome e il nome del candidato (nell'ordine e usando opportunamente maiuscole e minuscole) e il suo numero di matricola (Es: //Bianchi Mario 0000156786).

È permesso l'uso di fogli bianchi per appunti; non è permesso l'uso di alcun tipo di materiale di consultazione tranne la documentazione in linea accedibile attraverso l'ambiente preconfigurato.

Per la compilazione è possibile utilizzare i plugin JCompile e RunIt (accedibili dal menu Plugins), ricordarsi di salvare il file prima della compilazione.

L'elaborato consegnato verrà corretto solo se compilabile senza errori; tutti i file sorgenti vanno salvati nella directory di default presentata dal programma.

Esercizio: reversi

Scrivere un programma che accetti in input da riga di comando il nome di un file di testo che deve contenere la rappresentazione di un tavoliere di reversi con una partita in corso.
Il file deve essere composto di 8 righe di 8 caratteri dove il carattere '.' rappresenta una posizione non occupato e le lettere 'B' e 'N', rispettivamente, una pedina bianca e una nera. Non tutte le disposizioni casuali di pedine sul tavoliere possono essere il reale risultato di una partita in corso ma il programma può ignorare questa complicazione e assumere che qualsiasi rappresentazione sia valida a patto di essere correttamente formattata.
Il programma deve visualizzare le posizioni nelle quali il bianco può giocare. Le posizioni sono numerate da 1 a 64 a partire dalla posizione in alto a sinistra e procedendo da sinistra a destra riga dopo riga.
La regola da considerare è la seguente: una posizione è giocabile per il bianco se è attualmente non occupata e una pedina bianca posta in quella posizione risulta chiudere una sequenza continua di pedine in orizzontale, verticale o diagionale, che inizia con una o più pedine bianche seguite da una o più pedine nere.

Esempio:

Lanciando il programma (con java Esercizio reversi.txt) dove il file reversi.txt contiene:

........
........
...NB...
...BN...
..BNNN..
...N....
........
........
si dovrà ottenere come output:
12 19 30 39 45 46 52 53