Bonjour à tous,
J'ai récemment trouvé un site qui propose des problèmes à résoudre avec différents niveaux de difficultés : https://open.kattis.com/
J'ai commencé par les premiers problèmes et jusque là tout va bien, cependant j'ai un soucis pour le problème "Symmetric Order" : https://open.kattis.com/problems/symmetricorder
L'input est sous la forme :
7
Bo
Pat
Jean
Kevin
Claude
William
Marybeth
6
Jim
Ben
Zoe
Joey
Frederick
Annabelle
5
John
Bill
Fran
Stan
Cece
0
et l'output :
SET 1
Bo
Jean
Claude
Marybeth
William
Kevin
Pat
SET 2
Jim
Zoe
Frederick
Annabelle
Joey
Ben
SET 3
John
Fran
Cece
Stan
Bill
Le programme classe donc chaque liste de prénom en faisant une symétrie par rapport au nombre de caractère.
J'ai donc écrit ce code (Je sais qu'il existe des solutions bien plus simple, mais je ne vois pas pourquoi celle là ne fonctionne pas) :
Quand je test le programme avec l'input du site j'obtiens la même output, mais quand je soumets le programme pour vérification, le site m'indique qu'il y a une erreur et je n'arrive pas à trouver laquelle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 a="-1" b=[] while a!="0": a=input() b.append(a) output=[] nbSET=0 delta=0 for i in range(len(b)): if b[i].isnumeric(): if int(b[i]) != 0: nbSET=nbSET+1 output.append("SET "+str(nbSET)) for j in range(int(b[i])): if j<int(b[i])/2: print(b[2*(j+1)-1+delta]) output.append(b[2*(j+1)-1+delta]) else: print(b[(int(b[i])-j)*2+delta]) output.append(b[(int(b[i])-j)*2+delta]) delta=delta+int(b[i])+1 for i in range(len(output)): print(output[i])
Merci pour votre aide
Partager