]> git.llucax.com Git - z.facultad/75.29/susanita.git/blob - src/backtracking.h
Bugfix.
[z.facultad/75.29/susanita.git] / src / backtracking.h
1 #ifndef _BACKTRACKING_H_
2 #define _BACKTRACKING_H_
3
4 #include "persona.h"
5 #include "susanita.h"
6 #include "parser.h"
7 #include <map>
8 #include <deque>
9 #include <string>
10
11 #ifdef __VC++__
12 /* find_if está en <algorithm> en VC++ */
13 #include <algorithm>
14 #endif
15
16 struct BackTracking : Susanita
17 {
18         /// Constructor
19         BackTracking(size_type capacidad);
20
21         /// Empieza a emparejar gente
22         void casamentear();
23
24         private:
25         
26         /* Llamada recursiva: Ensaya una alternativa con el N-ésimo hombre */
27         void Ensayar(personas_type::iterator iH);
28         
29         /* Determina si la pareja es estable */
30         bool ParejaEstable(personas_type::iterator Mujer, personas_type::iterator Hombre);
31 };
32
33 #endif /* _BACKTRACKING_H_ */