(CodinGame) France-IOI


(CodinGame) France-IOI

CodinGame est un site permettant de tester ses talents de programmeur et même d'affronter d'autres codeurs dans des combat d'I.A. (Intelligence Artificielle)
Attention : Ce site nécessite de s'y connaître déjà en programmation... pour apprendre à coder, aller sur France-IOI.org !


Niveau 1
  • 1 – Affichage de texte, suite d'instructions (6 problèmes) 
    • 1) Hello world ! [⇒ afficher le texte « Hello world ! »] 
    • 2) Présentation [⇒ corriger les erreurs de syntaxe d'un programme] 
    • 3) Plan de la montagne [⇒ afficher plusieurs lignes de texte] 
    • 4) Dans le fourré [⇒ déplacer le robot sur une grille avec des obstacles] 
    • 5) Empilement de cylindres [⇒ déplacer 4 disques dans les tours de Hanoï] 
    • 6) Recette secrète [⇒ résoudre une énigme de transvasement de récipients] 
  • 2 – Répétitions d'instructions (10 problèmes) 
    • 1) Punition [⇒ afficher un grand nombre de fois le même texte] 
    • 2) Mathématiques de base [⇒ corriger les erreurs de syntaxe d'un programme] 
    • 3) Transport d'eau [⇒ répéter des instructions de déplacement 
    • 4) Le secret du Goma [⇒ répéter un groupe de deux actions] 
    • 5) Sisyphe [⇒ enchaîner deux répétitions de déplacements] 
    • 6) Page d'écriture [⇒ enchaîner trois répétitions d'affichage de texte] 
    • 7) Jeu de dames [⇒ imbriquer des répétitions pour dessiner un plateau] 
    • 8) Mont Kailash [⇒ déplacer le robot avec des répétitions imbriquées] 
    • 9) Vendanges [⇒ faire faire une tâche au robot avec des répétitions imbriquées] 
    • 10) Le Grand Événement [⇒ effectuer des déplacements avec de nombreuses boucles] 
  • 3 – Calculs et découverte des variables (13 problèmes) 
    • 1) Réponds ! [⇒ afficher le nombre 42] 
    • 2) L'éclipse [⇒ calculer la soustraction de deux entiers] 
    • 3) Bonbons pour tout le monde ! [⇒ combiner des opérations mathématiques simples] 
    • 4) L'algoréathlon [⇒ stocker le résultat d'un calcul pour le réutiliser] 
    • 5) Cour de récréation [⇒ utiliser une variable dans des opérations mathématiques] 
    • 6) Une partie de cache-cache [⇒ afficher les entiers de 1 à 100] 
    • 7) Progresser par l'erreur [⇒ vérifier des programmes utilisant des variables] 
    • 8) Décollage de fusée [⇒ compter de 100 à 0] 
    • 9) Invasion de batraciens[⇒ calculer une puissance avec une boucle] 
    • 10) Kermesse [⇒ calculer les sommes intermédiaires de la somme des entiers de 1 à 50] 
    • 11) Course avec les enfants [⇒ utiliser un compteur pour le nombre d'itérations d'une boucle interne] 
    • 12) Construction d'une pyramide [⇒ sommer les cubes des entiers impairs de 1 à 17] 
    • 13) Table de multiplication [⇒ afficher une table de multiplication] 
  • 4 – Lecture de l'entrée (10 problèmes) 
    • 1) Récoltes [⇒ lire un entier et faire un calcul simple] 
    • 2) Retraite spirituelle [⇒ calculer le nombre de secondes dans N journées] 
    • 3) Âge des petits-enfants [⇒ corriger les erreurs de syntaxe d'un programme] 
    • 4) Encore des punitions [⇒ afficher un nombre variable de fois le même texte] 
    • 5) Graduation de thermomètres [⇒ afficher les entiers entre deux bornes] 
    • 6) Jeu de calcul mental [⇒ multiplier un nombre par les factorielles successives] 
    • 7) La Grande Braderie [⇒ afficher des entiers avec le point de départ et le pas donnés] 
    • 8) Bétail [⇒ calculer la somme d'entiers lus] 
    • 9) Socles pour statues [⇒ calculer la somme des carrés d'un intervalle d'entiers] 
    • 10) Le plus beau Karva [⇒ lire des valeurs dont une qui n'est pas utilisée] 
  • 5 – Tests et conditions (8 problèmes) 
    • 1) Transport des bagages [⇒ tester si le produit de deux entiers est supérieur à une valeur] 
    • 2) Bornes kilométriques [⇒ calculer une valeur absolue] 
    • 3) Tarifs dégressifs [⇒ seuiller une fonction affine avec un test] 
    • 4) Bagarre générale [⇒ comparer deux valeurs] 
    • 5) Tarif du bateau [⇒ déterminer un tarif en fonction de l'âge avec un si/sinon] 
    • 6) Traversée du pont [⇒ calculer un tarif avec un si/sinon] 
    • 7) Concours de tir à la corde [⇒ comparer deux sommes d'entiers] 
    • 8) Mot de passe du village [⇒ tester si un entier lu est égal à une certaine valeur] 
  • 6 – Structures avancées (8 problèmes) 
    • 1) Villes et villages [⇒ compter le nombre de valeurs supérieures à un seuil] 
    • 2) Planning de la journée [⇒ compter le nombre de valeurs à moins d'un seuil d'une autre valeur] 
    • 3) Étape la plus longue [⇒ calculer le maximum d'un ensemble de valeurs] 
    • 4) Calcul des dénivelées [⇒ sommer séparément les valeurs positives et négatives] 
    • 5) Type d'arbres [⇒ doubles tests imbriqués] 
    • 6) Tarifs de l'auberge [⇒ calculer un tarif avec des tests imbriqués] 
    • 7) Protection du village [⇒ calculer le minimum et le maximum sur chaque dimension des coordonnées lues] 
    • 8) Le juste prix [⇒ calculer la position du minimum] 
  • 7 – Conditions avancées, opérateurs booléens (10 problèmes) 
    • 1) Espion étranger [⇒ calculer le nombre de valeurs tombant dans un intervalle] 
    • 2) Maison de l'espion [⇒ calculer le nombre de valeurs tombant dans un rectangle] 
    • 3) Nombre de jours dans le mois [⇒ bien combiner plusieurs tests pour avoir un programme court] 
    • 4) Amitié entre gardes [⇒ déterminer si des intervalles 1D s'intersectent] 
    • 5) Nombre de personnes à la fête [⇒ calculer la valeur maximale atteinte d'un compteur augmentant et diminuant] 
    • 6) Casernes de pompiers [⇒ déterminer si des rectangles à bords droits s'intersectent] 
    • 7) Personne disparue [⇒ déterminer si une valeur est présente dans une liste] 
    • 8) La grande fête [⇒ calculer le nombre d'intervalles intersectant un intervalle de référence] 
    • 9) L'espion est démasqué ! [⇒ tester le nombre de critères vérifiés par les données lues] 
    • 10) Zones de couleurs [⇒ tester l'appartenance de points à des zones du plan avec des tests complexes] 
  • 8 – Répétitions conditionnées (5 problèmes) 
    • 1) Département de médecine : contrôle d'une épidémie [⇒ trouver la plus petite puissance de 3 supérieure à un seuil] 
    • 2) Administration : comptes annuels [⇒ sommer un nombre inconnu de valeurs, avec utilisation d'une sentinelle] 
    • 3) Département de pédagogie : le « c'est plus, c'est moins » [⇒ simuler le jeu du « c'est plus, c'est moins »] 
    • 4) Département d'architecture : construction d'une pyramide [⇒ calculer la plus grande somme de carrés inférieure à un seuil] 
    • 5) Département de chimie : mélange explosif [⇒ tester la raison de sortie d'une boucle while pour effectuer une action]


Niveau 2
  • 1 – Nombres à virgules et autres outils (11 problèmes) 
    • 1) Origami [⇒ calculer une puissance de 2, multipliée par un décimal] 
    • 2) Conversions de distances [⇒ appliquer une formule de conversion sur un décimal] 
    • 3) Comparatif de prix [⇒ appliquer une formule avec une division entre décimaux] 
    • 4) Moyenne des notes [⇒ calculer une moyenne d'entiers] 
    • A – Faire des arrondis (inférieur et supérieur) 
    • 1) Augmentation de la population [⇒ calculer une partie entière inférieure] 
    • 2) Construction de maisons [⇒ calculer une partie entière supérieure] 
    • B – Faire des arrondis (au plus proche) 
    • 1) Soirée orageuse [⇒ calculer un arrondi au plus proche] 
    • 2) Augmentation des taxes [⇒ calculer un prix après une modification de la taxe] 
    • C – Arithmétique de base 
    • 1) Achat de livres [⇒ effectuer une division entière] 
    • 2) Une belle récolte [⇒ tester si un nombre est le multiple d'un autre] 
    • 3) La roue de la fortune [⇒ calculer un modulo sur un nombre négatif] 
  • 2 – Découverte des tableaux (10 problèmes) 
    • 1) Préparation de l'onguent [⇒ accéder aux éléments d'un tableau déclaré en dur] 
    • 2) Liste de courses [⇒ accéder aux éléments d'un tableau déclaré en dur pour calcul d'un prix] 
    • 3) Grand inventaire [⇒ modifier un tableau pour suivre les quantités disponibles de produits] 
    • 4) Étude de marché [⇒ construire un histogramme] 
    • 5) Répartition du poids [⇒ calculer les distances signées à la moyenne] 
    • 6) Visite de la mine [⇒ stockage puis affichage inversé de valeurs] 
    • 7) Journée des cadeaux [⇒ calculer une médiane après un tri] 
    • 8) Course à trois jambes [⇒ associer le minimum au maximum, etc. après un tri] 
    • 9) Banquet municipal [⇒ appliquer des inversions sur un tableau de valeurs] 
    • 10) Choix des emplacements [⇒ inverser position et valeur dans un tableau] 
  • 3 – Chaînes de caractères (14 problèmes) 
    • A – Chaînes complètes 
    • 1) Petites fiches et gros travail [⇒ inverser deux à deux les 12 lignes d'un texte] 
    • 2) Priorité alphabétique [⇒ comparer deux mots] 
    • 3) Une ligne sur deux [⇒ afficher les lignes impaires d'un texte] 
    • 4) Résumés de livres [⇒ trouver les lignes trop courtes] 
    • 5) Lire ou ne pas lire, telle est la question [⇒ comparer la longueur de titres de livres] 
    • B – Mots 
    • 1) Fiches d’inscription [⇒ inverser les deux mots présents sur chaque ligne] 
    • 2) Analyse de fréquence [⇒ calculer un histogramme des longueurs des mots d'un texte] 
    • C – Caractères 
    • 1) Impression d’étiquettes [⇒ afficher verticalement une ligne de texte] 
    • 2) Écriture en miroir [⇒ inverser chaque ligne d'un texte] 
    • 3) Inscription d’étudiants [⇒ affecter une lettre à des intervalles de l'alphabet] 
    • 4) ngms sns vlls [⇒ retirer les voyelles et les espaces d'un texte] 
    • 5) La bataille [⇒ comparer à la main deux chaînes de caractères] 
    • 6) Analyse d’une langue [⇒ calculer la fréquence d'apparition d'une lettre dans un texte] 
    • 7) Sans espaces [⇒ remplacer les espaces par des _] 
  • 4 – Fonctions (9 problèmes) 
    • 1) Code secret deux fois [⇒ répéter un bloc à l'aide d'une fonction] 
    • 2) Deux codes secrets [⇒ rendre une fonction flexible avec un paramètre] 
    • 3) Dentelle [⇒ afficher une ligne avec une fonction à deux arguments] 
    • 4) Motif rectangulaire [⇒ afficher un rectangle avec une fonction à trois arguments] 
    • 5) Le plus petit de deux entiers [⇒ réécrire la fonction min] 
    • 6) Phénomène numérique [⇒ calculer le terme suivant dans la suite de Syracuse] 
    • 7) Distance euclidienne [⇒ calculer la distance euclidienne avec une fonction] 
    • 8) Formes creuses [⇒ dessiner des formes avec quatre fonctions] 
    • 9) Convertisseur d'unités [⇒ convertir d'une unité vers l'autre avec des constantes et une fonction] 
  • 5 – Programmer sur son ordinateur 
    • A – Programmer sous Windows 
    • L'éditeur de texte Notepad++ : Installation 
    • Python : Installation 
    • C et C++ : Installation de MinGW 
    • OCaml : Installation 
    • Installation avancée : PATH, shell de commandes, ocamlopt 
    • B – Programmer sous GNU/Linux 
    • Installation d'Ubuntu 
    • Configurer un système existant 
    • Commandes de base 
    • Un premier programme 
    • Un programme avec des tests 
    • Commandes et techniques utiles 
    • Langages interprétés et langages compilés 
    • Commandes avancées 
    • Choix d'un éditeur


Niveau 3
  • Déblocage du niveau 3 (5 problèmes) 
    • 1) Emprunts de livres [⇒ gérer les livres empruntables à la bibliothèque] 
    • 2) Fléchettes [⇒ afficher une suite de carrés imbriqués constitués de lettres] 
    • 3) Composition musicale [⇒ effacer itérativement les lettres consécutives identiques] 
    • 4) Lissage de signal [⇒ lisser un signal jusqu'à ce qu'un certain critère soit vérifié] 
    • 5) Course de grenouilles [⇒ simuler une course et déterminer le gagnant] 
  • 1 – Syntaxes, notions et astuces des langages 
    • Lecture/écriture rapide 
    • Utiliser une fonction main 
    • Modification raccourcie 
    • Opérations vectorielles 
    • Limite du nombre de récursions 
  • 2 – Introduction à la complexité 
    • Introduction 
    • Efficacité d'un programme 
    • Nombre d'opérations d'un algorithme 
    • Complexité d'un algorithme 
    • Complexité et temps de calcul 
    • Notation O() 
    • Conclusion 
  • 3 – Gestion de caractères (7 problèmes) 
    • A – Entiers et caractères 
    • 1) Bâtiment et allée [⇒ convertir lettre vers/depuis un nombre en fonction du code ASCII] 
    • 2) Nombre d'amour [⇒ convertir un texte en suite de nombres puis appliquer un processus dessus] 
    • B – Classe de caractères 
    • 1) Majuscules [⇒ convertir un texte en majuscule] 
    • 2) Lettre la plus fréquente [⇒ trouver la lettre la plus fréquente d'un texte] 
    • 3) Titres palindromiques [⇒ déterminer si des lignes de texte sont des palindromes] 
    • 4) Validité des noms de variables [⇒ déterminer si des noms de variables sont valides] 
    • 5) Fréquences d’apparition [⇒ calculer les fréquences d'apparition, en pourcentage, des lettres dans un texte] 
  • 4 – Opérations avancées sur les chaînes de caractères (12 problèmes) 
    • A – Tris 
    • 1) Inversion d’une liste de livres [⇒ inverser l'ordre des lignes d'un texte] 
    • 2) Trier des livres [⇒ trier les lignes d'un texte] 
    • 3) Lire ou ne pas lire, telle est (à nouveau) la question [⇒ comparer des lignes de texte] 
    • 4) Inversion de dictionnaire [⇒ inverser et trier une suite de paires de mots] 
    • B – Itérations 
    • 1) Fréquentation de la bibliothèque [⇒ calculer la somme d'un nombre inconnu d'entiers] 
    • 2) Conférence et tics de langage [⇒ calculer le nombre d'apparitions d'un mot dans un texte de longueur inconnue] 
    • 3) Acronymes [⇒ calculer des acronymes et formater des titres de livres] 
    • 4) Alphabet [⇒ afficher l'alphabet] 
    • 5) Consonnes [⇒ afficher les consonnes de l'alphabet] 
    • 6) Déchiffrement de la première page [⇒ décoder un texte à l'aide d'un tableau de correspondances] 
    • 7) Chiffrement par décalage [⇒ décoder un texte encodé avec une variation du code de césar, clé connue] 
    • 8) Trouver le décalage [⇒ décoder un texte encodé avec une variation du code de césar, clé à trouver] 
  • 5 – Tableaux avancés (5 problèmes) 
    • 1) Infographie [⇒ remplir des rectangles de « couleur » au sein d'une image 2D] 
    • 2) Carré magique [⇒ tester si un carré est magique] 
    • 3) Attaque du cavalier [⇒ tester facilement les déplacements du cavalier avec un tableau de directions] 
    • 4) Gomoku [⇒ chercher les alignements (3 directions) de longueur 5 dans un tableau 2D] 
    • 5) Érosion [⇒ calculer l'évolution d'un automate cellulaire (érosion) sur un tableau 2D] 
  • 6 – Tris simples (9 problèmes) 
    • 1) Déchets polluants [⇒ tri par sélection : extraire plusieurs fois le maximum d'un tableau] 
    • 2) Préparation du stock [⇒ tri par insertion : insérer des valeurs dans un tableau déjà trié] 
    • 3) Course automobile [⇒ tri à bulles : inventer des dépassements dans une course] 
    • 4) Tri des données [⇒ synthèse des algorithmes de tri lents] 
    • 5) Tri des données (bibliothèque) [⇒ trier un tableau avec la fonction du langage] 
    • 6) Identifier les bacs [⇒ trier des paires d'entiers] 
    • 7) Matières recyclables [⇒ trier un ensemble de mots] 
    • 8) Densité du plastique [⇒ chercher un élément dans un tableau par dichotomie] 
    • 9) Densité la plus proche [⇒ chercher par dichotomie dans un tableau l'élément le plus proche d'une valeur] 
  • 7 – Structures de données élémentaires et Balayages (6 problèmes) 
    • 1) État du stock [⇒ calculer des quantités restantes après des achats/ventes avec un histogramme] 
    • 2) Dates de péremption [⇒ simuler une pile] 
    • 3) Distributeur automatique [⇒ utiliser une file pour gérer un ensemble de produits] 
    • 4) Carte des cavernes [⇒ déterminer si une expression est bien parenthésée] 
    • 5) Carte de cinéma [⇒ détecter des doublons avec un tableau de booléens] 
    • 6) Hydroélectricité [⇒ déterminer la somme maximale d'un sous-intervalle de taille donnée] 
  • 8 – Récursivité (6 problèmes) 
    • A – Fonctions récursives 
    • 1) Nombre encadré [⇒ encadrer récursivement un nombre avec des crochets] 
    • 2) 0 + 0 = la tête à Toto [⇒ effectuer récursivement des substitutions successives de texte] 
    • 3) Fractale : triangle de Sierpinski [⇒ afficher le triangle de Sierpinski avec des caractères] 
    • 4) Tours de Hanoï [⇒ résoudre les tours de Hanoï en taille N] 
    • B – Récursif et itératif : factorielle, boucle en récursif 
    • 1) Entre deux [⇒ afficher récursivement un intervalle d'entiers] 
    • C – Récursif et itératif : boucles imbriquées en récursif 
    • 1) Retournement de chaîne [⇒ retourner une chaîne récursivement] 
  • 9 – Efficacité temporelle (4 problèmes) 
    • 1) Collage d'affiches [] 
    • 2) Plus long palindrome [⇒ trouver le plus long palindrome au sein d'un texte] 
    • 3) Les bons milieux [⇒ calculer le nombre de points 2D situés au milieu de deux autres] 
    • 4) Premier absent [] 
  • 10 – Bases (8 problèmes) 
    • 1) Puissance de 2 [⇒ calculer la plus grande puissance de 2 inférieure à une valeur] 
    • 2) Affichage binaire [⇒ convertir de la base 10 vers la base 2] 
    • 3) Lecture binaire [⇒ convertir de la base 2 vers la base 10] 
    • 4) Lecture dans une base quelconque [⇒ convertir de la base N vers la base 10] 
    • 5) Écriture dans une base quelconque [⇒ convertir de la base 10 vers la base N] 
    • 6) Changement de base [⇒ convertir de la base N vers la base M (petit entier)] 
    • 7) Table de multiplication binaire [⇒ afficher une table de multiplication avec les nombres en binaire] 
    • 8) Moyenne hexadécimale [⇒ calculer une moyenne de nombres donnés en base hexadécimale] 
  • 11 – Exercices d'entraînement du niveau 3 (11 problèmes) 
    • 1) Extension du centre [⇒ fusionner deux tableaux triés] 
    • 2) Tri automatique [⇒ déterminer la taille de l'intersection de deux tableaux] 
    • 3) Cartes perforées [] 
    • 4) Galerie souterraine [] 
    • 5) Carrés concentriques [] 
    • 6) Rallonges audio [] 
    • 7) Nombres opposés [] 
    • 8) Amis d’amis [] 
    • 9) iPhone Nano [] 
    • 10) Labyrinthe à billes [] 
    • 11) Essaim de drones []


Niveau 4
  • Déblocage du niveau 4 (4 problèmes) 
    • 1) Installation du camping [] 
    • 2) Boîtes factorielles [⇒ décomposer un nombre en base factorielle] 
    • 3) Baguenaudier [⇒ résoudre un peu de plateau] 
    • 4) Choisir son manteau [] 
  • 1 – Méthodes : coder proprement et efficacement 
    • Introduction 
    • Écrire du pseudo-code avant de coder 
    • Bien nommer ses variables et fonctions 
    • Éviter les répétitions : factoriser au maximum 
    • Bien organiser les différentes parties du code 
    • Éviter les cas particuliers 
    • Se limiter à un langage simple 
    • Simplifier les structures de données 
    • Bien présenter son code 
    • Se fixer des conventions 
    • Conclusion et synthèse des conseils 
  • 2 – Arbres (6 problèmes) 
    • 1) Retrouver un produit 
    • 2) Longueur des descriptions 
    • 3) Carton commun 
    • 4) Pile de cartons 
    • 5) Anti-virus 
    • 6) Fibre optique 
  • 3 – Structures de données et Balayages (13 problèmes) 
    • 1) Parc d'attraction [⇒ tableau cumulatif pour calculer des sommes sur des intervalles] 
    • 2) Bentley [⇒ calculer l'intervalle de somme maximum.] 
    • 3) Nombreux produits [⇒ utiliser un tableau de files pour gérer un ensemble de produits]  
    • 4) Émissions [⇒ nombre maximum de valeurs consécutives donc la somme est inférieure à une valeur] 
    • 5) Festival de musique [⇒ plus petit intervalle contenant toutes les valeurs demandées] 
    • 6) Peinture [⇒ trouver dans un tableau trié deux valeurs de somme donnée] 
    • 7) Fête foraine [⇒ pour chaque valeur, plus grande valeur plus petite qu'elle dans un autre tableau] 
    • 8) Maisons pour philatélistes [⇒ trouver les deux valeurs les plus proches au sein d'un tableau] 
    • 9) Temps de travail [⇒ déterminer la taille de la zone couverte par un ensemble de segments]  
    • 10) Augmenter la fréquentation [⇒ choisir la limite de durée pour maximiser la moyenne des fréquentations] 
    • 11) Affectation des salles [] 
    • 12) Fermeture annuelle [⇒ plus long intervalle, cyclique, non-couvert par les intervalles donnés] 
    • 13) Couvrir des points avec un segment de longueur fixe [⇒ nombre maximum de points couvert par un intervalle de longueur donnée] 
  • 4 – Récursivité avancée (6 problèmes) 
    • A – Énumérations 
    • 1) Changement de nom [⇒ énumérer les mots possibles de N lettres] 
    • 2) Moins de noms [⇒ énumérer les mots possibles de N lettres - une fois chacune maximum] 
    • 3) Choix des cours [⇒ énumérer les ensembles de K éléments parmi N] 
    • B – Analyse de documents 
    • 1) Expressions parenthésées, crochetées… [⇒ valider les imbrications de () [] {} <> dans un texte] 
    • 2) Indenter son code [⇒ indenter un ensemble d'accolades] 
    • 3) Évaluer une expression parenthésée [⇒ évaluer une expression arithmétique parenthésée] 
  • 5 – Calculs géométriques (1) (7 problèmes) 
    • A – Introduction à la géométrie 
    • 1) Superficie du terrain 
    • 2) Tour de contrôle 
    • 3) Repérage des lieux 
    • 4) Voie ferrée 
    • 5) Pistes d'atterrissage 
    • 6) Surface de parking 
    • 7) Sécurité des pistes 
  • 6 – Graphes (10 problèmes) 
    • 1) Compter les chemins vers la sortie 
    • 2) Tout le labyrinthe est-il accessible ?  
    • 3) Colorier des zones avec un maximum de couleurs  
    • 4) Chercher les zones utilisables de la forêt 
    • 5) Tourner en rond1 
    • 6) Fermeture du labyrinthe 
    • 7) Bloquer une route 
    • 8) Panneaux d'encouragements 
    • 9) Chemin le plus court 
    • 10) Baliser le labyrinthe 
  • 7 – Algorithmes semi-numériques (1) (11 problèmes) 
    • 1) Pioche avec remise [⇒ compter tirages de K cartes parmi N, avec remise, avec ordre] 
    • 2) Pioche de toutes les cartes [⇒ compter nombre d’ordonnancements de N cartes] 
    • 3) Pioche sans remise [⇒ compter tirages de K cartes parmi N, sans remise, avec ordre] 
    • 4) Nombre de paquets [⇒ compter tirages de K cartes parmi N, sans remise, sans ordre] 
    • 5) Découpage [⇒ calculer le pgcd de deux nombres] 
    • 6) Collage [⇒ calculer le ppcm de deux nombres] 
    • 7) Réussite [⇒ trouver les nombres premiers inférieurs à N avec le crible d'ératosthène] 
    • 8) Multiplications multiples [⇒ multiplier un grand nombre de grands nombres, modulo N] 
    • 9) Addition de grands nombres [⇒ sommer des très grands nombres exprimés en base B] 
    • 10) Soustraction de grands nombres [⇒ soustraire des très grands nombres exprimés en base B] 
    • 11) Nombres quasi-parfaits [] 
  • 8 – Graphes implicites (1) (5 problèmes) 
    • 1) Séquences d'opérations [⇒ relier deux nombres par une suite de +-*/ par des valeurs données] 
    • 2) Stage dans les Alpes [⇒ énumérer les suites croissantes de longueur N, à valeurs dans [1, K]] 
    • 3) Grille de couleurs []  
    • 4) Plus grand rayon laser [] 
    • 5) Arbres malades [] 
  • 9 – Exercices d'entraînement du niveau 4 (15 problèmes) 
    • 1) Nombre d'arbustes à planter  
    • 2) Recherche du plus long chemin  
    • 3) Carton trop plein 
    • 4) Multiplications multiples [⇒ multiplier un grand nombre de grands nombres, modulo N] 
    • 5) Guides touristiques 
    • 6) Musique d'ambiance  
    • 7) Passage de cables 
    • 8) Snake 
    • 9) Carte de retrait 
    • 10) Parachutisme 
    • 11) Jackpot 
    • 12) Trominos 
    • 13) Noeuds d'articulation 
    • 14) Intervention des pompiers - I 
    • 15) Intervention des pompiers - II


Niveau 5
  • 1 – Algorithmes gloutons (4 problèmes) 
    • 1) Fête du cinéma 
    • 2) Chaîne de production 
    • 3) Vente de téléviseurs 
    • 4) Caméras de surveillance 
  • 2 – Diviser pour régner (3 problèmes)  
    • 1) Triminos 
    • 2) Championnat de ping-pong 
    • 3) Tri fusion 
  • 3 – Arbres binaires (9 problèmes 
    • 1) Maximum sur un tableau dynamique 
    • 2) Maximum d'intervalle 
    • 3) Somme sur des intervalles d'un tableau dynamique 
    • 4) Plus grande valeur sous borne dans tableau dynamique 
    • 5) Maintenir un tableau avec décalages sur intervalles 
    • 6) Maintenir un tableau avec modifications sur intervalles 
    • 7) File à priorité 
    • 8) File à priorité II 
    • 9) File à priorité III 
  • 4 – Tris efficaces (6 problèmes) 
    • 1) Tri par tas (bibliothèque) 
    • 2) Tri par tas 
    • 3) Tri rapide 
    • 4) Tri postal 
    • 5) Tri base  
    • 6) Tri base (variante) 
  • 5 – Plus courts chemins (9 problèmes) 
    • 1) Course d'obstacles 
    • 2) Brûler de la poudre 
    • 3) Brûler de la poudre II 
    • 4) Brûler de la poudre III 
    • 5) Parcours le plus court 
    • 6) Parcours à points 
    • 7) Course d'orientation 
    • 8) Agents de sécurité 
    • 9) Travaux aux intersections  
  • 6 – Union-Find (4 problèmes)
    • 1) Un monde plein de fusions 
    • 2) Connaître sa hiérarchie 
    • 3) Toujours plus de fusions 
    • 4) Chemins à débroussailler 
  • 7 – Algorithmes semi-numériques (2) (9 problèmes)  
    • A – Variables à utiliser 
    • 1) Nombres de Fibonacci 
    • 2) Nombre de paquets 2 
    • 3) Facteurs de factorielle 
    • 4) Cartes colorées 
    • 5) Echanges de cartes 
    • 6) Cycles de cartes 
    • 7) Décalage de cartes 
    • 8) Nombre de paquets 3 
    • 9) Réussite 2  
  • 8 – Algorithmes dynamiques (7 problèmes) 
    • 1) Kayak I 
    • 2) Kayak II 
    • 3) Triangle 
    • 4) Vaisseau spatial 1 
    • 5) Vaisseau spatial 2  
    • 6) Vaisseau spatial 3 
    • 7) Étagères 
  • 9 – Exercices d'entraînement du niveau 5 (10 problèmes) 
    • 1) Maximum sur des intervalles 
    • 2) Maximum sur des intervalles II 
    • 3) Signaux de fumée 
    • 4) Store Art 
    • 5) Sleon 
    • 6) Nombre le plus proche dans une liste 2 
    • 7) Arrosage d'allée 
    • 8) Augias Academy 
    • 9) Banderole II 
    • 10) Bowling


Niveau 6
 
1 – Graphes implicites (2) (4 problèmes) 
2 – Algorithmes dynamiques avancés (4 problèmes)  
3 – Structures de données et balayages avancés (5 problèmes)  
4 – Composantes fortement connexes (3 problèmes) 
5 – Calculs géométriques (2) (11 problèmes)  
6 – Flots et couplages (10 problèmes) 
7 – Exercices d'entraînement du niveau 6 (5 problèmes)

  1. Numération : cours et TP
  2. Octets : cours et TP
  3. Booléens : cours et TP
  4. ASCII : cours et TP
  5. HTML : cours et TP
  6. CSS : cours, TP et fichiers
  7. Python - Variables : cours et TP
  8. Python - Fonctions : cours et TP
  9. Python - Turtle : cours et TP
  10. Python - Tests et boucles : cours et TP
  11. Python - Chaînes et listes : cours et TP
  12. Python - Dictionnaires : cours et TP
  13. C.S.V. : cours et TP
  14. Formulaires 1 & 2 : cours et TP
  15. Réseaux : cours, TP et fichiers
  16. Linux : cours et TP
  17. Algorithmes de tri : cours et TP
  18. Algorithmes - 2ème partie : coursTP et fichiers
  19. Python - Tkinter : cours et TP
Logiciels utilisés en Spé. N.S.I.
Palmarès