Vi espongo il mio problema:
Siamo una compagnia di 20 persone e per andare in ferie abbiamo affittato 5 appartamenti da 4 posti. Come in tutte le compagnia del mondo esistono amicizie più o meno vecchie e forti, litigi, tizio che è l'ex di una ma che ora sta con un'altra, caio che va d'accordo con uno ma odia un altro, ecc, ecc...
Il problema è diviedere le 20 persone nei 5 appartamenti facendo felici più gente possibile, e così dopo ore di discussioni inutili qualcuno facendo una battuta mi ha detto "perchè non inventi un programmino che trovi la soluzione migliore??"
Ora, sicuramente non siamo tanto infantili da far decidere davvero ad un pc gli accoppiamenti per le vacanze e giungeremo a dei compromessi, ma a me è rimasta la pulce nell'orecchio e nel tempo libero ho provato a buttare giù qualche idea per realizzare davvero un programma del genere.
La mia idea è questa: consegnare un "questionario" a ciascuno in cui da un punteggio da 1 a 5 (o 10 o 100 è uguale) ad ognuno degli altri a seconda di quanto vuole passare le vacanze in casa con lui (ad esempio 5 al tuo miglior amico o alla ragazza con cui ci provi, 1-2 a chi non sopporti, ecc..)
Poi realizzare un programma che elabora tutti questi dati, calcola tutte le combinazioni possibili delle sistemazioni negli appartamenti e restituisce quelle con il "punteggio" maggiore, che è dato dalla somma di tutti questi voti per ognuna delle combinazioni possibili...
Il problema è che mi ritengo un buon programmatore, ma non mi viene in mente nulla per far calcolare al pc tutte le combinazioni possibili di 5 gruppi da 4...
Accetto qualunque idea o suggerimento in qualunque linguaggio... è l'algoritmo che mi interessa.