Implémentations algorithmiques fondamentales en C

Cet article présente plusieurs implémentations courantes d'algorithmes et de structures de données en langage C, souvent rencontrées dans des examens de programmation. Addition de grands entiers #include <stdio.h> #include <string.h> #define MAX_TAILLE 20 void inverser_chaine(char *chaine) { int debut = 0, fin = strlen(chaine) ...

Publié le 13 juin à 21h42

Comparer les Numéros de Version en C++

Dans ce problème d'algorithmique, nous devons comparer deux chaînes de caractères représentent des numéros de version. Le point (.) sert de séparateur entre les segments numériques, et non de séparateur décimal. Par exemple, "2.5" indique la cinquième révision du second niveau de la seconde révision principale, et non une valeur décim ...

Publié le 13 juin à 21h15

Préparation aux concours de programmation CSP-S et NOIP 2025

Script de test automatisé Pour valider une solution, on peut utilisre un script qui génère des données, exécute une solution standard et la solution proposée, puis compare les sorties. Voici une version réécrite en C++ : #include<iostream> #include<cstdlib> #include<string> int main() { std::ios::sync_with_stdio(false); ...

Publié le 13 juin à 02h59

Maîtrise des algorithmes de la STL en C++

Les algorithmes de la bibliothèque standard C++ offrent une large gamme de fonctionnalités pour manipuler des conteneurs et des plages d'éléments. Ce guide explore les différentes catégories d'algorithmes et leur utilisation pratique. 1. Algorithmes sans modification Ces algorithmes n'altèrent pas les éléments des conteneurs qu'ils parcourent. ...

Publié le 12 juin à 20h35

Trouver le caractère le plus consécutif dans une chaîne et son nombre d'occurrences

Problème : Étant donné une chaîne de caractères, trouver le caractère qui apparaît le plus consécutivement ainsi que son nombre d'occurrences. Par exemple, dans la chaîne 'aabbcccddeeee112233', le caractère le plus consécutif est 'e' avec 4 occurrences. Analyse : Approche traditionnelle avec boucles imbriquées Utiliser des boucles imbriquées p ...

Publié le 12 juin à 16h21

Techniques et syntaxe C++ pour la programmation compétitive

Mise à jour le 30/01/2022 : Ajout initial de la bibliothèque de modèles STL, cette section n'est pas encore complète Introduction Cet article présente des syntaxes et techniques pratiques pour la programmation compétitive (OI), adaptée aux participants aux Olympiades d'informatique. Les débutants ou les étudiants en informatique pourraient ne p ...

Publié le 12 juin à 01h49

Solutions des problèmes de la compétition ZYZ (Round 4)

Compter est amusant Round. Quatre problèmes de programmation dynamique. Un peu mystérieux. Tous les problèmes étaient excellents. J'apprécie vraiment. A.Compter est amusant 1 P2734 [IOI 1996 / USACO3.3] Jeu A. Une astuce assez classique. Descriptoin Il y a une double file d'attente, les petits \(\delta\) et \(\mu\) peuvent chacun retirer un no ...

Publié le 12 juin à 01h26

Tutoriel Approfondi sur les Concepts Avancés du C++

11.1 Recherche en profondeur (DFS) 11.1.1 Concepts de base Le DFS (Depth-First Search) est un algorithme récursif qui explore un chemin jusqu'au bout puis fait marche arrière. Gabarit de base void dfs(int etat) { // 1. Condition d'arrêt if (condition satisfaite) { traiter le résultat; return; } // 2. Élagage ...

Publié le 10 juin à 06h55

Notes de Solutions APIO 2018-2024

Notes de Solutions APIO 2018-2024 Ces problèmes sont vraiment difficiles. (Mise à jour en cours...) Table des matières- Notes de Solutions APIO 2018-2024 [APIO2018] Ironman [APIO2018] Sélection de cercles [APIO2023] Cyberland [APIO2024] Septembre [APIO2018] Ironman D'abord, nous contractons les points doubles. Nous devons déterminer combien d ...

Publié le 9 juin à 10h28

Problème du Mur Hamiltonien

Problème du Mur Hamiltonien Énoncé du problème On vous donne une matrice $2\times m$ qui ne contient que les caractères B et W. Chaque colonne contient au moins un caractère B. La question est de savoir s'il existe un chemin qui satisfait les conditions suivantes : Les cellules adjacentes dans le chemin partagent un côté commun (pas seulement ...

Publié le 9 juin à 06h36