Originariamente inviato da tidus1717
ma non so come implementare la permutazione..mi potresti fare almeno uno pseudocodice per favore...
Consideriamo la seconda classe che ti ho consigliato di costituire e la chiamiamo PmutMatriceVincolata (ipotizzando che le matrici contengano interi)
codice:
public class PmutMatriceVincolata{
private Matrice mv;
private int vincoli[];
...altri campi
/*
* @param mv matrice di cui creare le permutazioni
* @param vincoli array di elementi che all'interno della matrice non cambiano la propria pos.
*/
public PmutMatriceVincolata(Matrice mv, int vincoli[]){
this.mv = mv;
this.vincoli = vincoli;
}
private LinkedList linearizzaMatrice(){
...
}
public Matrice[] getMatriciPmut(){
//qui implementi l'algoritmo per calcolare le permutazioni
//puoi rappresentarle tramite array, liste o stringhe come meglio credi..
//il totale delle permutazioni dunque è fattoriale( linearizzaMatrice().size() - vincoli.length )
}
...
}