aide d'urgence sudoku backracking
Pièces détachées Forum Contact

aide d'urgence sudoku backracking

Aide informatique Nous rachetons vos PC portables (et MAC) HS Aide informatique
toonpax1

aide d'urgence sudoku backracking

salut a ts

            voila j'ai un immense probleme j'ai a faire pr demain un programme qui prend un fichier texte et  qui resoud et affiche un sudoku 3X3 utilisant le backtracking S'il vous plait aider moi. J'ai reussi a prendre le fichier et a calculer les candidats possible est ce quelqu'un peut m'aider pour la fonction backtracking ca fai des jrs que je suis dessus.

Voici ma fonctions qui calcul les candidats possible:

    def calculCandidats(l,e,i):
    candidats=[]
    res=[]
    if l[e][i]==0:
        for j in range(len(l)):
            for k in range(len(l)):
                for a in range(1,len(l)+1):
                    if l[e][j]!=0 and l[e][j]==a:
                        res.append(a)
                        break
                    if l[k][i]!=0 and l[k][i]==a:
                        res.append(a)
                        break
        for j in range(len(l)):
            for k in range(len(l)):
                for a in range(1,len(l)+1):
                    ligne=e-(e%3)
                    colonne=i-(i%3)
                    for m in range(ligne,ligne+3):
                        for n in range(colonne,colonne+3):
                            if l[m][n]!=0 and l[m][n]==a:
                                res.append(a)
        for a in range(1,len(l)+1):
            if a not in res:
                candidats.append(a)
        return candidats
    else:
        return []

et celle la c'est la fontion que j'ai essayer de faire avec le backtracking

def resolution (l,i,candidats,n=9):
    if i == n:
        return True
               
    elif candidats == []:
        return False   
    else:
        for e in candidats:
            l.append(e)
            i += 1
            newCandidats = calculCandidats(l,e,i)
            if resolution(l,i,newCandidats,n=9):
                return True
        else:
            l.pop()
            i -= 1
        return False



  



information


Réponse rapide

forum Répondez et participez librement forum
Services informatiques Merci d'écrire un message de plus de 10 mots en français correct. (Tout message mal rédigé sera effacé.)

Top recherche sur le forum d'aide

Pied de page des forums

Forum : Réseau - Sécurité - Materiel
Php - Référencement - Serveurs - Divers
Windows - Internet - Logiciels - Communication
SARL Brakstar - siret : 48501380900010 RCS
203 chemin des hoirs - Bat G - 83140 Six fours
Mail : societe@brakstar.com
USA EN ES BR PO DE NL IT AR CH S CH T SU DN HU JP TE RU PL FI NO GR SE SL VN ET TH UK SL IN LH RO LE HE BG KO CZ MS CAT IR IS CR AZ