Je suis bloquée sur l'exercice du carré magique de France IOI, j'ai trois tests non passants (sans savoir le contenu de ces tests) et je n'arrive pas à débusquer le cas manquant (mon pgm est trop permissif car envoie yes au lieu de no).
nbCases=int(input())
sommeLigne=0
sommeRef=0
sommeDiag=0
sommeDiag2=0
sommeCol=0
tableau=[]
condition=0
chiffres=[0]*(nbCases*nbCases)
chiffresRef=[1]*(nbCases*nbCases)
#Construction du tableau
for loop in range (nbCases):
ligne= input().split()
for loop in range (nbCases):
ligne[loop] = int(ligne[loop])
tableau.append(ligne)
#print(tableau)
#Calcul de la somme de référence
for loop in range (nbCases):
sommeLigne+=tableau[0][loop]
sommeRef=sommeLigne
#print(sommeRef)
#Calcul de la somme des lignes
for loop in range (1,nbCases):
sommeLigne=0
for n in range (nbCases):
sommeLigne+=tableau[loop][n]
# print(sommeLigne)
if sommeLigne!=sommeRef:
condition+=1
#Calcul de la somme des colonnes
for loop in range (nbCases):
sommeCol=0
for n in range (nbCases):
sommeCol+=tableau[n][loop]
# print(sommeCol)
if sommeCol!=sommeRef:
condition+=1
#Calcul de la somme des diagonales
for loop in range (nbCases):
sommeDiag+=tableau[loop][loop]
# print(sommeDiag)
if sommeLigne!=sommeRef:
condition+=1
for loop in range (nbCases):
sommeDiag2+=tableau[loop][nbCases-1-loop]
# print(sommeDiag2)
if sommeLigne!=sommeRef:
condition+=1
#Chaque chiffre une seule fois
for ligne in range (nbCases):
for col in range (nbCases):
#print(tableau[ligne][col])
if 1<=tableau[ligne][col]<=(nbCases*nbCases):
chiffres[tableau[ligne][col]-1]+=1
else:
condition+=1
#print(chiffres)
if chiffres!=chiffresRef:
condition+=1
if condition==0:
print('yes')
else:
print('no')
Merci @PascalOrtiz ! Mauvaise relecture de ma part
Blocage sur le carré magique de France IOI
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Découverte Python Doc Tkinter Les chaînes de caractères