Top piège du sujet
Complexité O(n²) annoncée sans définir n (Q1)
Analyse
Ce qu'a observé le jury
Synthèse Hadamard du rapport officiel — citations, chiffres et conseils du jury.
Présentation du sujet
Composition d'informatique 2h, filière PSI (sigle 'Info-B' en 2024). Sujet sur la résolution d'un système de contraintes graphiques : reconstruire une petite image à partir de contraintes sur le placement des pixels par ligne et par colonne. Quatre parties : Partie 1 routines de vérification d'une solution. Partie 2 résolution par recherche exhaustive. Partie 3 algorithmes de placement de blocs de pixels. Partie 4 résolution par programmation dynamique.
Structure de l'épreuve
- Partie I — Partie 1, Routines de vérification d'une solution(Q1-Q4)Niveau attendu
Q1 beaucoup annoncent une complexité O(n²) sans définir n. Q2 maladresses du type 'if cases_lignes == cases_col: return true else: return false'. Q3 cas len(cle)==0 très rarement traité.
- Partie II — Partie 2, Recherche exhaustive(Q5-Q7)Difficile
Q5 division euclidienne n=k.nc+l : beaucoup expriment l = n−k.nc sans voir qu'il s'agit de n mod nc. Q6 candidats construisent toutes les combinaisons puis les testent, alors qu'il vaut mieux les tester à la volée.
- Partie III — Partie 3, Placement de blocs de pixels(Q8-Q9)Difficile
Q8 très peu de tests de bord. Q9 fonction conflit utilisée alors que l'énoncé l'interdisait.
- Partie IV — Partie 4, Programmation dynamique(Q10-Q14)Très difficile
Q10 cas c-s-1<0 très peu traité, beaucoup recopient les indications. La plupart n'ont pas dépassé cette question. Q11-Q12 très peu et très mal traitées. Q13 question bien traitée. Q14 très rarement traitée.
Analyse globale du jury
« Le sujet portait sur la résolution d'un système de contraintes graphiques. Il s'agissait de reconstruire une petite image à partir de contraintes sur le placement des pixels par ligne et par colonne. Globalement, le niveau est meilleur que l'année précédente mais reste très lacunaire. Beaucoup de candidats maîtrisent mal l'algorithmique et le langage python. En particulier, la notion de donnée mutable n'est presque jamais comprise, ce qui est inquiétant. »
Top pièges sanctionnés
Complexité O(n²) annoncée sans définir n (Q1)-1 pts
« Beaucoup de copies annoncent une complexité en O(n²) sans définir n. Ce n'est pas parce que deux boucles sont imbriquées que la complexité est quadratique ! »
Boucle for avec modification de i (mauvaise pratique)-2 pts
« Plusieurs copies montraient une incompréhension inquiétante des boucles for. Dans plusieurs copies, des candidats ont voulu modifier la valeur de i à l'intérieur d'une boucle for i in range.... C'est une pratique fortement déconseillée, dangereuse dans la pratique et en dehors de toute règle de bonnes pratiques. »
Construire toutes les combinaisons puis tester (Q6)-3 pts
« Certains tentent de construire toutes les combinaisons et ensuite de les tester alors qu'il vaut mieux les tester à la volée pour limiter l'empreinte mémoire. Beaucoup de récursions fausses. Oubli qu'une liste est mutable, qu'elle est donc passée par adresse et qu'il faut donc en stocker une copie. »
Recopie d'indications de l'énoncé sans calcul (Q10)-2 pts
« Le cas c-s-1<0 a été très peu traité, beaucoup de candidats se contentent de recopier les indications de l'énoncé. La plupart des candidats n'ont pas dépassé cette question. »
Chapitres clés à maîtriser
Bosse chaque chapitre sur d'autres sujets de concours qui le couvrent.
Source : Rapport du jury X-ENS · Info PSI, session 2024 · PDF officiel ↗
Contexte
L'épreuve en quelques chiffres
L'épreuve Info X-ENS PSI 2024 (Info-B), durée 2h. Composition Python sur la reconstruction d'une petite image à partir de contraintes graphiques (placement de pixels par ligne et colonne).
Sigle 'Info-B' encore en vigueur en 2024 (transition vers 'Info' en 2025). Programme commun MP-PC-PSI.
Accompagnement personnalisé
Travaillez ce sujet avec un prof de l'équipe
Nos professeurs anciens taupins (Polytechnique, ENS, Centrale) reprennent ce sujet avec toi en cours particulier — corrigé ligne par ligne, méthode, pièges évités.
Trouvez le prof qu'il vous faut
Échangez avec notre équipe pour trouver le professeur idéal selon vos besoins.
Stratégie
Notre approche pour ce sujet
Sujet en 2h. Stratégie : réussir Parties 1 et 2 (Q1-Q7) avec rigueur Python, la majorité s'arrête à Q10. Partie 4 (programmation dynamique) à viser pour les bonnes copies.
Gestion des 2h : 10 min lecture, 30 min sur Partie 1 (Q1-Q4, vérification), 35 min sur Partie 2 (Q5-Q7, recherche exhaustive), 20 min sur Partie 3 (Q8-Q9, blocs de pixels), 20 min sur Partie 4 (Q10-Q11), 5 min relecture. Q12-Q14 sacrifiables.
Conseils du jury
Cinq conseils transversaux
- Définir n avant d'annoncer une complexité O(n²) : pas mécaniquement à cause de deux boucles imbriquées.
- Pas de modification de i dans une boucle for : pratique dangereuse en Python.
- Tester à la volée plutôt que tout construire : économie mémoire et vitesse.
- Listes mutables passées par adresse : stocker une copie si nécessaire (l.copy() ou list(l)).
- Traiter cas de bord : c-s-1 négatif, len(cle) égal à 0, etc. Sanctionnés s'ils sont ignorés.
Ressources
Téléchargements
Sujet officiel, corrigé Hadamard et rapport jury — tout en un endroit.
FAQ