Ciao a tutti,
sto impazzendo dietro un progetto e spero che qualcuno possa aiutarmi.
Allora, ho implementato 4 funzioni: CREA,RIEMPI,SVUOTA,SPOSTA.

CREA: Creo un numero X di scatole che potranno contenere al massimo Y palline.

RIEMPI: Riempie il contenitore indicato con il numero massimo di palline che può contenere

SVUOTA: Svuoto il contenitore indicato

SPOSTA: Sposto tutte le palline possibili da un contenitore all'altro fin quando o il primo è vuoto o il secondo è pieno.

Esempi:
CREA 2 4 6
- Creo tre scatole che conterranno rispettivamente al max 2 4 o 6 palline

SVUOTA 3
- Svuoto la terza scatola scatola

SVUOTA 2
- Svuoto la seconda scatola

SPOSTA 1 3 (mettiamo caso di avere la prima scatola piena e la terza con 5 palline) avremo 1 pallina nella prima, e l'ultima scatola piena.


OK, scusate la lunghezza ma era giusto spiegare le funzioni basilari.
Il mio problema è questo. Devo creare una funziona che indicando il numero massimo di operazioni, partendo dalla configurazione attuale, mi visualizzi tutte le possibili configurazioni raggiungibili utilizzando le 3 operazioni basilari.

Ci sto impazzendo dietro, aiutooo.
Attualmente sto utilizzando una matrice bidimensionale in cui nella prima colonna contengo il numero di palline della scatola e nella seconda il numero massimo contenibile.

Spero che qualcuno sappia aiutarmi