Competitif

La programmation compétitive met en lice plusieurs programmeurs qui doivent écrire un algorithme capable de résoudre un problème selon des contraintes de temps, d’espace… Le temps nécessaire a l’écriture de l’algorithme est également pris en compte.

A haut niveau il requiert de bonnes connaissances en mathématiques et en algorithmique.

D’un point de vue d’écriture algorithmique il est recommandé d’utiliser python, et lorsque le temps d’exécution de l’algorithme est un critère, il faut utiliser un langage rapide qui s’exécute au plus proche du processeur, pour cela on recommande le C++ car il permet plus facilemenet la programmation dynamique .

Le C++ possède nativement des listes triées, chainées , tables de hachage , et vecteurs (listes dynamiques), indispensables à cette fin. En C il faut les écrire soit même car on soumet son programme généralement via un formulaire web et on n’a pas accès à la ligne de commande de compilation, ni la possibilité d’importer ses librairies dans l’environement de compilation : le C n’est pas recommandé en programmation compétitive.

Toutefois pour les problèmes les plus simples qui nécessitent peu de manipuler la mémoire, utiliser le C pour résoudre des problèmes de programmation compétitive peut être un bon moyen d’améliorer son niveau avec ce langage.

Répertoire

Voila une liste de sites web donnant une interface de programmation en C pour la résolution de problèmes de programmation.

Privés

Ces sites permettent d’atteindre un niveau compétitif en programmation et gravitent autour des évènements sportifs en matière de programmation

Ludiques et professionels

Ces sites proposent des problèmes soit pour s’amuser, soit préparer un entretien d’embauche.

Haut niveau

Des sites où s’affrontent les meilleurs programmeurs compétitifs :