1 #ifndef _GALESHAPLEY_H_
2 #define _GALESHAPLEY_H_
10 struct GaleShapley: Susanita
14 GaleShapley(size_type capacidad);
16 /// Empieza a emparejar gente
22 * En la primera ronda cada hombre se le declara a la mujer que
23 * prefiere independientemente de que algun otro se le haya declarado.
24 * Entre todas las propuestas que recibio, cada mujer elige al hombre
25 * mejor posicionado en su ranking y se compromete con él. Si una
26 * mujer no recibe ninguna propuesta, espera hasta la proxima ronda.
31 * En cada ronda subsiguiente los hombres que ya estan comprometidos
32 * no hacen nada. Cada hombre no comprometido se le declara a la mujer
33 * mejor posicionada en su ranking que aun no lo rechazo,
34 * independientemente de que ella este comprometida o no.
35 * Cuando le toca el turno a las mujeres, cada mujer acepta la
36 * propuesta del hombre mejor posicionado en su ranking (incluso puede
37 * llegar a romper un compromiso; tambien puede suceder que su novio
38 * actual este mejor posicionado que todos sus nuevos pretendientes,
39 * en cuyo caso se queda con el novio actual). Si una mujer no recibe
40 * ninguna propuesta, espera hasta la proxima ronda.
44 // Cantidad de hombres comprometidos; se usa para optimizar
45 // todos_h_comprometidos().
46 unsigned int cant_comprometidos;
48 /// Se fija si todos los hombres estan comprometidos
49 bool todos_h_comprometidos() const;
53 #endif // _GALESHAPLEY_H_