Home Introduzione Programma Orario Laboratorio Nettuno Esame Diario 02-03 Materiale Challenge News Link Forum Esoneri

horizontal rule

Tema n. 1

dal 26/04/2006 al 15/05/2006, estremi inclusi

SaltaCasella

Scrivere un algoritmo Java per il gioco denominato "Salta Casella". Data una matrice n × n, riempirne le caselle con tutti i numeri interi da 1 a n2 secondo la seguente regola: se nella casella (i, j) è stato inserito il valore k, allora il valore successivo, k+1, potrà essere inserito in una delle caselle (i, j + 3), (i + 2, j + 2), (i + 3, j), (i + 2, j - 2), (i, j - 3), (i - 2, j - 2), (i - 3, j) o (i - 2, j + 2), purché tale casella esista e non ospiti già un valore.

Il valore n, dimensione della matrice, e le coordinate (i0, j0) della casella iniziale, entro cui inserire il valore 1, sono forniti in input. L'algoritmo deve fornire in output una soluzione al problema posto.

Specifiche

  1. La classe da realizzare si chiama SaltaCasella
  2. La classe ha un costruttore con un parametro int che indica la dimensione della matrice di gioco
  3. La classe ha un metodo public boolean saltaCasella(int i, int j) che tenta di risolvere il problema a partire dalla casella (i, j). Se il metodo ha successo restituisce true, altrimenti restituisce false
  4. La classe ha un metodo public int getCasella(int i, int j) che restituisce il valore memorizzato nella casella (i, j) della matrice che risolve il problema posto
  5. La classe ha un metodo public static String getMatricola() che restituisce la matricola dello studente partecipante

Clicca qui per scaricare il SaltaCasella.class di base con cui confrontarsi; clicca qui per scaricare il file TestSaltaCasella.class, contenente un possibile main (digitare java TestSaltaCasella sulla riga di comando per avere istruzioni su come specificare l'input)

si consiglia di testare la propria classe con il main qui fornito, per verificare di aver rispettato le specifiche sui metodi da implementare

invio contributi

 

horizontal rule

Bacheca di Algoritmi e Strutture Dati a.a. 2007-08 - canale A - L

forum del corso

ultima modifica: 03/04/2008 23.37
by FdA