public Backtracking(int taille, boolean allSolution,Gestion g){
		//lancement du compteur
		start=System.currentTimeMillis();
		
		plat=new Plateau(taille);
		this.taille=taille;
		this.allSolution=allSolution;
		this.g=g;
		
		listePolyo=new ArrayList<Polyominos>();
		listeSolution=new HashSet<Plateau>();
		
		//ajout des polyo suivant la taille du plateau passé en parametre
		switch(taille){
		 case 3:
			 listePolyo.add(new Polyominos(5, 'J'));
			 listePolyo.add(new Polyominos(4, 'D'));
			 break;
			
		 case 4:
			listePolyo.add(new Polyominos(5, 'J'));
			listePolyo.add(new Polyominos(4, 'D'));
			listePolyo.add(new Polyominos(4, 'A'));
			listePolyo.add(new Polyominos(3, 'A'));
			 break;
			 
		 case 5:
			listePolyo.add(new Polyominos(5, 'A'));
			listePolyo.add(new Polyominos(5, 'B'));
			listePolyo.add(new Polyominos(5, 'C'));
			listePolyo.add(new Polyominos(5, 'H'));
			listePolyo.add(new Polyominos(1, 'A'));
			listePolyo.add(new Polyominos(4, 'E'));
			 break;
			 
		 case 9:
			//ajout des 3 dominos
			listePolyo.add(new Polyominos(2, 'A'));
			listePolyo.add(new Polyominos(2, 'A'));
			listePolyo.add(new Polyominos(2, 'A'));
			
			//ajout des pentaminos
			listePolyo.add(new Polyominos(5, 'A'));
			listePolyo.add(new Polyominos(5, 'B'));
			listePolyo.add(new Polyominos(5, 'C'));
			listePolyo.add(new Polyominos(5, 'D'));
			listePolyo.add(new Polyominos(5, 'E'));
			listePolyo.add(new Polyominos(5, 'F'));
			listePolyo.add(new Polyominos(5, 'G'));
			listePolyo.add(new Polyominos(5, 'H'));
			listePolyo.add(new Polyominos(5, 'I'));
			listePolyo.add(new Polyominos(5, 'J'));
			listePolyo.add(new Polyominos(5, 'K'));
			listePolyo.add(new Polyominos(5, 'L'));
			
			//ajout des doublons
			listePolyo.add(new Polyominos(5, 'G'));
			listePolyo.add(new Polyominos(5, 'J'));
			listePolyo.add(new Polyominos(5, 'K'));
			break;
			 
		 default:
			 System.out.println("Liste de polyominos non gere");
			 System.exit(-1);
		}
		
	}