#define MAX 1000
#define ZERO_ENCADRE -1
#define ZERO_BARRE -2

// Class représentant un automate
class Hongroise
{
public:
	void Lecture_Fichier();
	void Fct_Hongroise();
	void Affiche_Solution();

private:
	int p;
	int nbr_personne;
	vector <vector <vector <int>>> tab;
	vector <vector <int>> tab_cout;
	
	vector <int> Emplacement_Zero; // Emplacement du Zero a encadrer au début de la phase 2
	vector <int> Solution; // Liste des solutions
	
	void Phase_1();
	bool Phase_2();
	int Phase_3();
	int Calcul_Cout(int p);
};