Voici l'épreuve machine de votre demi-finale. Pensez à bien lire ce qui suit avant de commencer votre épreuve.
Durant 3 heures et demie, vous allez devoir résoudre un maximum de problèmes dont la difficulté évoluera de manière croissante. Il y a plusieurs exercices répartis sur plusieurs niveaux de difficulté, mais vous n'avez besoin de résoudre qu'un seul problème par niveau.
Le système d'évaluation corrigera automatiquement votre travail. Vous écrivez votre programme, vous le soumettez à l'évaluateur et il vous indiquera les tests que vous ne passez pas. Les tests sont divisés en deux catégories :
- Les tests de correction : Ils vérifient si votre algorithme fonctionne. Si vous passez avec succès tous ces tests, un exercice du niveau supérieur sera débloqué aléatoirement, ainsi que les autres exercices du même niveau.
- Les tests de performance : Ils ne sont pas nécessaires pour accéder au niveau supérieur, mais ils le sont pour obtenir la totalité des points d'un exercice. Une fois que vous avez passé avec succès les tests de correction, vous pouvez tenter d'améliorer votre algorithme pour obtenir la totalité des points ou bien passer au niveau supérieur.
Chaque soumission incorrecte rajoute 20 points de malus à votre future meilleure soumission. Pensez donc à bien tester votre code avant de le soumettre aux tests. Votre score ne peut plus diminuer après avoir passé tous les tests.
Notez que vos codes seront relus. Essayez donc d'avoir autant que possible un code lisible et clair. De plus, si vous avez un code faux à la fin de l'épreuve pour un exercice, n'hésitez pas à soumettre ce code faux : nous le lirons et pourrons éventuellement vous accorder des points pour les idées que vous avez eues.
Exercice | N | % | Validation | Incomplet | Total |
---|---|---|---|---|---|
Joseph Démarchant | 0 | 100 | 42 | 42 | 42 |
Joseph Macadam | 1 | 100 | 1000 | 1000 | 1000 |
Joseph Malaise--Voyageur | 1 | 100 | 1000 | 1000 | 1000 |
Joseph Marteau | 1 | 100 | 1000 | 1000 | 1000 |
Joseph Chiffrant | 2 | 100 | 3000 | 3000 | 3000 |
Joseph Chiffrant--Différemment | 2 | 45 | 1350 | 1748 | 3000 |
Joseph Marcottant | 2 | 45 | 1350 | 1735 | 3000 |
Joseph Marmotte | 3 | 20 | 1200 | 2347 | 6000 |
Le Retour de Joseph Macadam | 3 | 35 | 2100 | 2966 | 6000 |
Traque & Matraque | 3 | 35 | 2100 | 3028 | 6000 |
Joseph Marin | 4 | 20 | 2000 | 3931 | 10000 |
Joseph Marshal | 4 | 15 | 1500 | 3483 | 10000 |
Distraquetion | 5 | 10 | 1500 | 4803 | 15000 |
Matraquenard | 5 | 20 | 3000 | 5842 | 15000 |
Joseph Maçon | 6 | 20 | 4200 | 7933 | 21000 |
L'attaque du Joseph du Milieu | 6 | 15 | 3150 | 7269 | 21000 |
Joseph Marché | 7 | 5 | 1350 | 7385 | 27000 |
- % : Indique le pourcentage de points réservés aux validations.
- Validation : Indique les points que vous obtiendrez en réussissant les tests de validations uniquement.
- Incomplet : Indique le maximum de points que vous pourrez obtenir sans passer la totalité des tests de performance.
- Total : Indique le nombre de points que vous obtiendrez en réussissant tous les tests (validation & performance).
Les malus ont un impact sur votre score aux Épreuves
Régionales.
Voici un rappel concernant leur fonctionnement.
À chaque soumission, le score effectif vaut
Commandes utiles :
- Pour changer la langue du clavier en QWERTY ou AZERTY, utiliser
setxkbmap us
ousetxkbmap fr
. - En AZERTY ANSI, on écrit le caractère < avec
Alt Gr+Shift+Z
, et > avecAlt Gr+Shift+X
. - Pour augmenter la limite de récursion en Python :
from sys import setrecursionlimit setrecursionlimit(10**9)
- Pour l'entrée/sortie rapide en C++ :
ios_base::sync_with_stdio(false); cin.tie(nullptr);
En cas de problème de compréhension sur un exercice, de question d'ordre technique ou de besoin particulier, ne surtout pas hésiter à appeler un organisateur dans la salle. Bon courage, et surtout, amusez-vous bien !