Conteneurs Associatifs en C++: `std::map` et `std::set`

Cette section explore l'utilisation des conteneurs associatifs std::map et std::set de la Standard Template Library (STL) en C++. 1. Concepts Fondamentaux 1.1 Conteneurs Séquentiels et Associatifs La STL C++ inclut deux catégories principales de conteneurs : Conteneurs Séquentiels : Ils stockent des éléments dans un ordre linéaire et maintienn ...

Publié le 1 juin à 17h22

Concours provincial de la 11e compétition Lanqiao pour les groupes Junior et Senior en C++ (édition 2020)

Partie 1 : Questions à choix multiples Question 1 Enoncé : La valeur de l'expression '6' - '1' est ( ) A. L'entier 5 B. Le caractère '5' C. Expression invalide D. Le caractère '6' Réponse correcte : A Explication : En C++, les littéraux de type caractère (comme '6', '1') sont implicitement convertis en leur valeur de code ASCII pour effectuer d ...

Publié le 1 juin à 13h53

Modèles de performance d'objets en C++ : Singleton et Flyweight

Introduction aux modèles de performance d'objets La programmation orientée objet résout efficacement les problèmes d'abstraction, mais cela implique des coûts en termes de ressources. Dans la plupart des cas, ces coûts sont négligeables. Cependant, pour des scénarios spécifiques, il est crucial de les gérer avec soin pour optimiser les performa ...

Publié le 1 juin à 12h12

Guide pratique des conteneurs et algorithmes STL en C++

Structures pair La structure std::pair permet de grouper deux éléments de types potentiellement différents. Elle est analogue à une structure personnalisée simple. Les éléments sont accessibles via les membres first et second. Exemple d'utilisation de pair #include <iostream> #include <string> #include <utility> // Nécessaire ...

Publié le 1 juin à 11h56

Comptage des nœuds feuilles dans un arbre de hiérarchie familiale

Considérons une hiérarchie familiale modélisée par un arbre généalogique. L'objectif est de déterminer, pour chaque niveau de profondeur depuis la racine, le nombre de membres sans enfants (nœuds feuilles). Spécification d'entrée : Chaque cas de test débute par une ligne contenant deux entiers N et M. N représente le nombre total de nœuds dans ...

Publié le 1 juin à 07h08

Implémentation des algorithmes EK et Dinic pour le flot maximal

Le problème de flot maximal consiste à déterminer la quantité maximale de flux pouvant être acheminée d'une source à un puits dans un réseau. Deux algorithmes courants sont l'algorithme EK (Edmonds-Karp) et l'algorithme Dinic, tous deux basés sur la recherche de chemins aumgentants. Algorithme EK (Edmonds-Karp) L'algorithme EK utilise une reche ...

Publié le 1 juin à 04h09

Parcours d'Arbres Binaires en C++ : Méthodes Itératives et Récursives

Parcours Pré-Ordre d'un Arbre Binaire Méthode Récursive La mise en œuvre récursive dépend de trois éléments fondamentaux : Définir les paramètres et la valeur de retour de la fonction récursive. Établir la condition d'arrêt de base. Définir la logique d'appel récursif pour un nœud unique. /** * Définition pour un nœud d'arbre binaire. * ...

Publié le 1 juin à 02h08

Fabricant de brochettes de dango ultime

Problème JOI est un artisan de dango. Il existe N couleurs de dango, numérotées de 1 à N. JOI possède A_i dangos de la couleur i (pour 1 ≤ i ≤ N). Il peut sélectionner 3 dangos pour former une brochette. Les couleurs des trois dangos (c₁, c₂, c₃) doivent respecter les conditions suiventes : |c₁ - c₂| ≤ 1 |c₂ - c₃| ≤ 1 |c₃ - c₁| ≤ 1 Autrement ...

Publié le 31 mai à 14h10

Solutions en C++ pour des problèmes de concours de codage sur Nowcoder

Problème 1 : Vérification de parité Ce problème consiste à déterminer si un entier est pair. Si l'entier est impair, on retourne -1 ; sinon, on le divise en deux parties égales. #include <iostream> using namespace std; int main() { int valeur; cin >> valeur; if (valeur % 2 != 0) { cout << -1; } else { ...

Publié le 30 mai à 23h15