-
Notifications
You must be signed in to change notification settings - Fork 2
FAQ (Frequently Asked Questions)
Un simple IDE qui supporte le langage C (environnement de développement intégré; ex. Netbeans, Codeblocks, DevC++) ou un simple éditeur de texte avec compilation en ligne de commande (gcc -LM -o nomProgramme nomCode.c
)
Avoir Java ☕ installé sur votre machine :
- tester sur terminal avec la commande
java -version
; la version de java doit être affichée.- En cas de problème, télécharger Java et suivre les instructions d'installation selon votre système d'exploitation.
Si Netbeans est utilisé en tant que IDE, Java devrait normalement fonctionner.
Si
java
n'est pas reconnu en tant que commande, vérifier que Java est ajouté aux variables d'environnement PATH sur Windows (voir ce lien).
Une fois le dossier PC^2 est décompressé sur votre disque dur, aller au dossier PC^2 en ligne de commande.
Exemple : supposons avoir l'arborescence suivante:
D:\nom_dossier\
|_ bin\
|_ . . .
|_ pc2v9.ini
- Lancer l'invite de commandes (
touche Windows + r
puis entrercmd + Entree
) - Une fois l'invite de commandes est lancé, accéder au dossier
D:
cd nom_dossier
- Lancer le programme
pc2team.bat
depuis le dossier PC^2 (sans accéder au dossierbin
) en tapant :.\bin\pc2team.bat
Exemple : supposons avoir l'arborescence suivante:
~/nom_dossier/
|_ bin/
|_ . . .
|_ pc2v9.ini
- Lancer l'invite de commandes (ex. terminal sous Ubuntu/Gnome, konsole sous OpenSuse/KDE).
- Une fois l'invite de commandes est lancé, accéder au dossier avec la commande
cd
- Lancer le programme
pc2team
depuis le dossier PC^2 (sans accéder au dossierbin
) en tapant :./bin/pc2team
Le nom du fichier source n'est pas important (vous pouvez l'appeler main.c
, A.c
, etc.). Celui du fichier input par contre doit être respecté selon la spécification de l'énoncé (généralement un fichier .txt qui prend le nom du problème; ex: A.txt
).
Seul le fichier source est demandé lors de l'envoi.
Impérativement NON. Il ne s'agit pas d'un tirage au sort pour augmenter les chances de gagner au loto 🎲.
Une fois une soumission (ou run) est envoyée, il faut attendre la réponse définitive des juges.
🚫 L'envoi de plusieurs runs par problème ralentit le processus de jugement et encombre la file d'attente. Ne refaire l'envoi que s'il y a eu une mise à jour sur le code source.
Q7) Puis-je recevoir une réponse "Compilation Error" du serveur même si mon code compile sur ma machine?
OUI dans quelques cas, si les bonnes pratiques du langage ne sont pas respectées.
Exemple : en langage C (norme ANSI-C dite aussi C-89), il est interdit de déclarer le type du compteur dans la boucle for
. Ceci est accepté dans le langage C++ (voire la norme C-99) et peut être compilé sur votre machine :
for(int i; i<10; i++){ //interdit en norme ANSI-C
Le serveur PC^2 compile avec la norme ANSI-C avec la commande gcc
(seule l'option -LM
d'édition de lien avec la bibliothèque <math.h>
est ajoutée).
OUI dans quelques cas. Le serveur envoie une réponse automatique (marqué comme Prelimenary) en examinant les différences entre votre output et le résultat attendu tel que configuré. Ainsi, un espace non visible en fin de ligne ou un retour à la ligne en extra dans la fin du résultat rend les deux outputs non identiques.
Q9) Puis-je avoir une réponse "Wrong Answer" définitive des juges même si mon code fonctionne sur les cas de test de l'énoncé?
OUI, éventuellement si d'autres cas de test ne sont pas pris en compte. Le serveur est toujours configuré avec un jeu de test (input/output) différent de celui qui est dans l'énoncé des problèmes (autre nombre de test cases, autres exemples de données, test des limites des contraintes, etc.).
Oui (pour être un bon futur ingénieur 🥇) mais pas nécessairement si votre code peut s'exécuter en moins de 10s (c'est généralement le cas sur un jeu de données limité avec des contraintes qui ne sont pas grandes).
Dans le cas contraire, une erreur de type "Time Limit Exceeded" 🕙 sera envoyée.
Utiliser l'envoi de clarification (menu: "Request Clarification" 🆘) sur le programme PC^2.
Un dictionnaire (en format papier 📄) peut être apporté avec vous. Sinon, essayer d'ignorer les détails de l'histoire racontée dans le début de l'énoncé. L'essentiel peut être compris en parcourant l'énoncé du problème de façon globale.