Foire aux questions

Vous trouverez ici les réponses aux questions qu'on nous pose fréquemment. Si vous ne trouvez pas les informations que vous cherchez, n'hésitez pas à nous contacter.

Aucun niveau particulier n'est requis. Il faut juste savoir utiliser les bases d'un des langages de programmation acceptés pour le concours. (Voir les langages acceptés)
Vous pouvez vous inscrire jusqu'à la fin de la dernière session de qualification. Cependant, s'inscrire à une session en cours ne vous donnera aucun temps supplémentaire par rapport aux autres participants ayant débutés à l'heure.
Oui, vous avez le droit à toutes les ressources, tant que vous n'échangez ou ne collaborez pas avec d'autres personnes.
Non, l'utilisation d'IA telles que ChatGPT pour répondre aux problèmes est considérée comme de la triche, au même titre que demander une aide extérieure.
Oui, vous pouvez vous faire disqualifier pour différentes raisons. Voici une liste non exhaustive :
  • En cas d'utilisation suspectée de multi-compte permettant de récupérer les sujets en avance ;
  • En cas de travail en groupe constaté par un organisateur lors d'une session dans votre INSA, ou suspecté à distance ;
  • En cas de propos insultant ou diffamant au sein d'un des codes du participant ;
  • En cas de triche via une aide extérieure humaine ou artificielle pour répondre aux problèmes (par ex. l'utilisation d'IA telles que ChatGPT) ;
  • En cas de triche avérée par soumission de l'intégralité, ou d'une partie, du code d'une soumission d'un autre utilisateur.
Comme vous le souhaitez, mais si votre PC peut se connecter à Internet dans votre INSA, nous vous recommandons de prendre le vôtre afin que vous puissiez être sûr d'avoir les outils de développement nécessaires pour votre langage sur votre machine.
Vous choisissez le langage au moment de la soumission de votre code. Vous pouvez faire des soumissions avec différents langages pour le même exercice.
À noter qu'une fois le langage sélectionné, la zone de soumission comportera un exemple de code basique pour pouvoir soumettre un exercice sur la plateforme pour ce langage en particulier.

Notez que la plateforme utilise les entrées/sorties standards qui sont respectivement STDIN et STDOUT.
En local (sur votre ordinateur), vous pouvez répliquer les entrées/sorties utilisées de la manière suivante :
  • Copiez/collez dans un fichier (que vous nommerez ici input) le contenu de vos entrées
  • Appelez l'exécutable de votre programme en ajoutant en fin de votre commande : < input afin d'envoyer sur STDIN le contenu du fichier.
    Par exemple, si vous utilisez Java : javac Main.java && java Main < input
  • Si vous souhaitez vérifier les sorties de votre solution (surtout pour voir les espaces en fin de ligne), n'hésitez pas à ajouter à la fin de votre commande > output afin d'écrire dans un fichier output les sorties de votre programme, ainsi que 2>&1 à la suite pour écrire les messages d'erreur en même temps.
    Par exemple, si vous utilisez Java et que vous voulez cumuler les entrées/sorties tout en ajoutant les erreurs : javac Main.java && java Main < input > output 2>&1
Si votre code retourne les bonnes sorties, mais que le site indique que la sortie est différente de celle attendue, posez-vous la question suivante : "Est-ce que j'ai mis un espace en trop à la fin de ma sortie ?". Si c'est le cas, vous avez trouvé le problème.
Si vous codez en C[++] ou Python, il semblerait que des fois, le programme fonctionne/affiche le bon résultat en local sur votre machine, mais ne fonctionne pas à distance. Dans certains cas, ajouter un \n à la fin de votre sortie (ou un std::endl pour C++) semble régler le problème.
Nous ne mettons à disposition aucune librairie externe quel que soit le langage (par ex, vous n'aurez pas accès à numpy pour Python).
Vous pouvez cependant utiliser les librairies standards incluses de base avec chaque langage.
Le nombre d'exercices varie selon les années. Il peut y avoir cinq comme dix exercices.
La difficulté des exercices étant croissante, nous vous recommandons de regarder l'ensemble des exercices avant de commencer à travailler sur un exercice en particulier pour gagner du temps.
Les points d'un exercice sont calculés en fonction du nombre de tests validés et de la difficulté de l'exercice.
Le score final correspond à la somme des points sur l'ensemble des exercices proposés durant votre session.
Oui, les cas pouvant entraîner la perte des points pour une soumission sont :
  • La solution "hardcode", c'est-à-dire la solution qui tente de répondre au sujet en envoyant des réponses sans traiter le sujet. C’est le cas quand la réponse n’est pas prévue pour changer en fonction des entrées, mais aussi lorsque les entrées sont simplement observées sans subir de traitement particulier dans le but d'avoir des réponses validant les exemples ;
  • La solution "hasardeuse", c'est-à-dire la solution qui donne des réponses suite à un traitement du sujet, mais est patiellement ou complétement dépendante d’une fonction de hasard ;
  • La solution "non déterministe", c'est-à-dire la solution qui donne des réponses différentes pour la même entrée sur plusieurs exécutions ;
  • Toute autre soumission jugée déloyale ou implicitement proscrite lors d’un concours tel que Cod’INSA.
Dans tous les cas, les organisateurs restent juges. Le classement pour l'édition en cours n'est définitif qu'à la suite d'une communication de l'association allant dans ce sens sur l'un de ses réseaux sociaux.
L'association vous met à disposition l'ensemble des annales des éditions précédentes. Cependant, il ne vous sera pas possible de soumettre des solutions sur la plateforme, ou encore d'avoir accès au contenu des tests privés.
Sur demande, nous pouvons voir pour vous donner les tests associés à un exercice en particulier, et éventuellement la solution si cette dernière est disponible dans votre langage de programmation.
Oui, les deux sessions proposent les mêmes exercices. Bien évidemment, si vous participez à la session du jeudi, il vous est formellement interdit de divulguer le contenu des exercices avant la fin de la session du samedi.
Vous ne pouvez participer qu'à une seule session par édition. En cas de participation aux deux sessions, l'association se réserve le droit de disqualifier le participant pour l'édition en cours.
Chaque INSA dispose en principe d'un responsable spécifique faisant le lien entre l'association et son école. N'hésitez pas à nous contacter par mail, via les réseaux sociaux ou par Discord pour qu'on puisse répondre à vos questions, ou vous rediriger vers votre responsable.
Il vous faut contacter un organisateur du concours pour que nous puissions voir avec vous comment nous pourrions débloquer la situation. Vous avez trois possibilités : utiliser notre adresse mail, nous contacter sur les réseaux sociaux en message privé, et enfin nous contacter sur notre serveur Discord.

Langages acceptés

Langage Compilation/interprétation Flags
AdaGnatmake 10.5.0
Brainf*ckBeef 1.2.0
Funge 98PyFunge 0.5-rc2
CGCC 10.5.0-lm
C++G++ 10.5.0
C#Mono 6.8.0.105
CamlOcaml 4.08.1
DGDC 10.5.0-lm
Dart (support expérimental)Dart 3.2.6
GoGoLang 1.19.4
HaskellGHC 8.6.5
KotlinKotlinc 1.8.0 + OpenJDK 17.0.9-Xmx256m -jar
JavaOpenJDK 17.0.9-Xmx256m
JavascriptNodeJS 18.12.1
LOLCodeLCI 0.10.5
LuaLuac 5.4.4
PascalFpc 3.0.4-MObjFPC -Scghi
PerlPerl 5.30.0
PHPPHP 8.2.15
PrologSwipl 9.2.0-t halt --goal=main
Python3.11.7
RubyRuby 3.2.0
RustRustc 1.72.1
VB.NETVbnc 0.0.0.5943 avec Mono 4.0.1