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
En local (sur votre ordinateur), vous pouvez répliquer les entrées/sorties utilisées de la manière suivante :
À 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 surSTDIN
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 fichieroutput
les sorties de votre programme, ainsi que2>&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
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.
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.
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.
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.
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 |
---|---|---|
Ada | Gnatmake 10.5.0 | |
Brainf*ck | Beef 1.2.0 | |
Funge 98 | PyFunge 0.5-rc2 | |
C | GCC 10.5.0 | -lm |
C++ | G++ 10.5.0 | |
C# | Mono 6.8.0.105 | |
Caml | Ocaml 4.08.1 | |
D | GDC 10.5.0 | -lm |
Dart (support expérimental) | Dart 3.2.6 | |
Go | GoLang 1.19.4 | |
Haskell | GHC 8.6.5 | |
Kotlin | Kotlinc 1.8.0 + OpenJDK 17.0.9 | -Xmx256m -jar |
Java | OpenJDK 17.0.9 | -Xmx256m |
Javascript | NodeJS 18.12.1 | |
LOLCode | LCI 0.10.5 | |
Lua | Luac 5.4.4 | |
Pascal | Fpc 3.0.4 | -MObjFPC -Scghi |
Perl | Perl 5.30.0 | |
PHP | PHP 8.2.15 | |
Prolog | Swipl 9.2.0 | -t halt --goal=main |
Python | 3.11.7 | |
Ruby | Ruby 3.2.0 | |
Rust | Rustc 1.72.1 | |
VB.NET | Vbnc 0.0.0.5943 avec Mono 4.0.1 |