POUR NB :Y :LST SI EGAL? :LST []ALORS [DONNE 0 ] SI EGAL? :Y PREM :LST ALORS [DONNE 1 + NB :Y SP :LST ] DONNE NB :Y SP :LST FIN POUR SUPR1 :Y :LST SI EGAL? :LST []ALORS [DONNE []] SI EGAL? :Y PREM :LST ALORS [DONNE SP :LST ] DONNE METP PREM :LST SUPR1 :Y SP :LST FIN POUR SUP :Z :LST SI EGAL? :Z []ALORS [DONNE :LST ] RELIE "LST SUPR1 PREM :Z :LST DONNE SUP SP :Z :LST FIN POUR LAT DONNE (LISTE NB "BAT :RG NB "M :RG NB "C :RG ) FIN POUR CANNIB SI ET (NB "C :RG > NB "M :RG )(NB "M > :RG 0 )ALORS [DONNE "VRAI ] SI ET (NB "C :RD > NB "M :RD )(NB "M :RD > 0 )ALORS [DONNE "VRAI ] DONNE "FAUX FIN POUR BCLE DONNE MEMBRE? LAT :VU FIN POUR METAT RELIE "VU METP LAT :VU FIN POUR INFEQ :N1 :N2 DONNE OU EGAL? :N1 :N2 PLUSPETIT? :N1 :N2 FIN POUR APP :TRANS DONNE ET INFEQ NB "M :TRANS NB "M COTE INFEQ NB "C :TRANS NB "C COTE FIN POUR COTE SI MEMBRE? "BAT :RG ALORS [DONNE :RG ] SI MEMBRE? "BAT :RD ALORS [DONNE :RD ] FIN POUR BALE DEBUT TOUS :POSI ECRIS [PAS DE SOLUTION ] FIN POUR TOUS :TFERTS SI VIDE? :TFERTS ALORS [STOP ] XETAT :RG :RD PREM :TFERTS TOUS SP :TFERTS FIN POUR DEBUT RELIE "RG [M M M C C C BAT ] RELIE "RD [] RELIE "VU [[1 3 3 ]] RELIE "POSI [(*LIST C C BAT )[C BAT ][M C BAT ][M M BAT ][M BAT ]] PETAT FIN POUR PETAT (ECRIS [GAUCHE ]:RG ) (ECRIS [DROITE ]:RD ) ECRIS [] FIN POUR XETAT :RG :RD :TLIST SI NON APP :TLIST ALORS [STOP ] ATRANS :TLIST SI CANNIB ALORS [ECRIS "CANNIB STOP ] SI BCLE ALORS [ECRIS "VU STOP ] SI VIDE? :RG ALORS [ECRIS "REUSSI STOP ] ECRIS []PETAT METAT TOUS :POSI ECRIS [ET CA REMONTE ] FIN POUR ATRANS :TLIST SI MEMBRE? "BAT :RG ALORS [TRAD :TLIST STOP ] SI MEMBRE? "BAT :RD ALORS [TRAG :TLIST STOP ] ECRIS "ERREUR FIN POUR TRAG :TRANS RELIE "RD SUP :TRANS :RD RELIE "RG PHRASE :RG :TRANS FIN POUR TRAD :TRANS RELIE "RG SUP :TRANS :RG RELIE "RD PHRASE :RD :TRANS FIN