Il go-moku è un gioco astratto che si gioca comunemente sul tavoliere del go (detto goban, formato da 19x19 intersezioni). Spesso non tutto il tavoliere è utilizzato ma solo una sua zona, comunque di forma quadrata.
Due giocatori si alternano ponendo pedine del proprio colore nelle intersezioni del goban. Il primo a creare una sequenza orizzontale, verticale o diagonale di esattamente cinque pedine vince (se quindi una mossa crea una sequenza di più di cinque pedine il giocatore di turno non vince e il gioco continua).
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 goban in cui è in corso una partita di go-moku e visualizzi in output lo stato della partita (in corso, il bianco ha vinto, il nero ha vinto, patta; il caso in cui ci siano sequenze vincenti per entrambi i giocatori è da considerarsi una situazione non valida e va segnalata).
La dimensione del campo di gioco (comunque quadrato) può essere variabile con un lato massimo di 19 incroci.
La rappresentazione del campo di gioco è formato da una sequenza di N (N <= 19) righe ognuna di N caratteri. Il carattere '.' è usato per rappresentare una intersezione vuota, il carattere 'O' indica un pezzo bianco e il carattere 'X' indica un pezzo nero.
Esempio: a fronte del goban nella seguente rappresentazione
.O..XX.XX..
..........O
..O..O.....
.....O.O...
.X...OX....
.XX..OX....
.O...OX....
.....OX..O.
......X....
..O........
...........
Allora il problema a questo punto è il seguente.
Il mio programma riesce a trovare le sequenze di 5 considerandole vincenti... l'unico problema e' che ad esempio nello schema qua sopra mi conta una vincita doppia per la X e altre due vincite per O
Le vencite per il O le considera 1 a partire dalla posizione 3-5 scendendo in basso
una a partire dalla posizione 7 -5 verso l'alto
Analogamente per le X conta due vittorie.
Come posso risolvere questo problema???
(non mi serve che scriviate il codice)
non so dove sbattere la testa
anzi si