Bonjour,
Je vous expose le problème :
La bibliothèque possède nbLivres livres indexés de 0 à nbLivres - 1. Chaque jour, un certain nombre de clients demandent à emprunter des livres pour une certaine durée. Si le livre est disponible, la requête du client est satisfaite, sinon le client repart sans livre.
Votre programme doit d'abord lire sur une première ligne deux entiers : nbLivres <= 1000 et nbJours. Pour chacun des jours, votre programme lira un entier nbClients sur une ligne puis nbClients lignes de deux entiers. Le premier entier correspond à l'indice du livre et le second la durée correspondante. (voir l'exemple d'entrée). Il affichera ensuite, sur des lignes séparées, pour chaque client un 1 si le livre peut être prêté et 0 dans le cas contraire.
On remarquera que si un client emprunte un livre le jour iJour pendant une durée duree alors celui-ci ne sera de nouveau disponible qu'au jour iJour + duree. De plus, si plusieurs personnes demandent le même livre pendant une journée, seule la première a une chance d'être satisfaite.Envoyé par exemple d'entrée
J'ai fait comme ça :Envoyé par sortie
Mais ça ne fonctionne pas
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 entree1 = input().split(' ') nbLivres,nbJours = map(int,entree1) livres = [1] * nbLivres for _ in range(nbJours) : nbClients = int(input()) for _ in range(nbClients) : entree2 = input().split(' ') indLivre,duree = map(int,entree2) if livres[indLivre] == 1 : print(1) livres[indLivre] = -duree + 1 print(livres) else : print(0) print(livres) if livres[indLivre] < 1 : livres[indLivre] += 1
J'ai un problème avec mon nombre de livre, qui ne se met pas à jour correctement.
Quand un client emprunte un livre pour n jours, sur mon nombre pour le livre concerné je déduis n et rajoute 1
Et j'essaie (sans succès) d'ajouter 1 à chaque jour qui passe, afin qu'au bout des n jours le nombre de livre soit de nouveau à 1.
Où ça pêche dans mon raisonnement ? Où dans mon code ?
D'avance merci![]()
Partager