Ma participation au SWERC 2025

7 minute(s) de lecture

Publié le :

Le week-end du 22 et 23 Novembre 2025, j’ai eu l’opportunité de participer pour une seconde fois au prestigieux SWERC (SouthWestern European Regional Contest) en représentant cette année l’INSA Lyon.

Avant toute chose, c’est quoi le “SWERC” ? Le SouthWestern European Regional Contest est un (si ce n’est le plus) prestigieux concours de programmation algorithmique d’europe. Il regroupe les meilleures universités et écoles de France, Suisse, Espagne, Italie, Portugal et Israël. Pendant 5 heures s’affrontent près de 140 équipes de 3 (participant en simultané sur les sites de Lyon, Lisbone et Pise) sur des problèmes d’algorithmie (très) complexes. Plus d’informations sur le site officiel.

Ayant eu la chance d’avoir déjà participé une première fois l’année dernière avec mon IUT, je me suis dis qu’en intégrant l’INSA Lyon cela pouvait être sympa de rejoindre une des équipes qui représente l’école au SWERC. La première étape fût la qualification au sein de l’INSA Lyon : il y a au total 9 places (3 équipes de 3) pour représenter l’école, étant donné que davantage de personnes sont intéressées, une sélection est obligatoire. Cette dernière est assez simple : un “contest” de 2h sur des problèmes d’algorithmique classiques issues de compétitions passées, et les 9 premiers de ce contest sont qualifiés.

Durant cette sélection j’ai réussi à me placer initialement 7ème place, mais avec plusieurs désistements, ce sont finalement 2 équipes qui ont été montées pour participer au SWERC, et c’est donc dans la deuxième que j’allais participer. A mes côtés ce sont qualifiés Jules et Ahmed pour constituer cette équipe. Les qualifications ayant eu lieu mi-octobre, cela nous laissait donc environ 1 mois pour nous entrainer jusqu’au week-end du SWERC.

Pour nous entrainer nous étions accompagnés par Mathis Hammel, ancien de l’INSA Lyon qui participe régulièrement à des concours (que je retrouve notamment à c0d1ngUP !). Nous nous sommes ainsi retrouver plusieurs fois, en ligne et sur place, pour tenter de résoudre des problèmes d’éditions précédentes du SWERC. De mon côté j’ai également (re)travaillé plusieurs thèmes d’un côté plus théorique (Tableaux, Séquences, Graphes…) à l’aide du livre Programmation Algorithmique - 128 algorithmes.

Photo de l'équipe sur le mur de l'INSA avec de gauche a droite : Ahmed, Jules, Mathis et moi-même L’équipe sur le mur de l’INSA. De gauche à droite : Ahmed, Jules, Mathis et Nicolas.

Le week-end de la compétition se déroule de la manière suivante : accueil et enregistrement des équipes le vendredi soir, conférences techniques et présentations des sponsors le samedi matin, session de test l’après-midi : tester que l’infrastructure va bien, que les équipes peuvent résoudre les problèmes, imprimer des bouts de code, demander une clarification au jury… Bref tester que tout fonctionne ! Et ce en vue de la vrai compétition qui se déroule le dimanche matin de 9h30 à 14h30, le week-end se finissant par la remise des prix le dimanche après-midi.

Le vendredi soir est également l’occasion de retrouver beaucoup de participants, coachs, bénevoles (dont plusieurs que je connaissais, étant donné que l’événement avait lieu là où j’ai désormais cours !). Ces rencontres et échanges sont toujours très intéressants, tout comme les conférences techniques du samedi matin auxquelles j’ai pu assister. Divers sujets ont été abordés durant cette matinée, mais je retiens surtout la présentation de Timothée Lacroix, co-fondateur et CTO de Mistral AI, start-up française que je suis depuis son début ! J’ai également eu la chance de pouvoir échanger directement avec lui le samedi soir lors du repas, et c’était une superbe expérience ! Parmi ces rencontres et échanges, j’ai notamment pu faire dédicacer mon exemplaire du livre Programmation Algorithmique - 128 algorithmes par les auteurs même de ce dernier qui étaient présent : Christoph Dürr et M. Jill-Jênn Vie, que je remercie encore !

Début de la conférence Thimothée Lacroix Conférence de Thimothée Lacroix

Enfin est venue l’heure de la compétition le dimanche matin : un peu de stress, une certaine pression dans l’atmosphère, mais très vite l’épreuve se lance et on commence à lire les 12 problèmes du sujet. On identifie leurs niveaux de difficultés, et on regarde également le classement en direct pour repérer les problèmes simples que l’on peut résoudre facilement. De cette manière, j’arrive a résoudre un premier problème assez rapidement. Ensuite on identifie deux autres problèmes que l’on peut résoudre, malheureusement on passe beaucoup de temps sur ces derniers, mais nous parvenons tout de même à les résoudre. Plusieurs heures sont déjà passées, car on ne s’en rend pas compte durant la compétition mais le temps passe très vite, et en réfléchissant intensément de cette manière, on perd parfois la notion du temps !

Deux nouveaux problèmes sont à notre portée mais ne sont plus simples du tout, on y réfléchit longuement et on finit par résoudre l’un des deux durant la dernière heure. Cette dernière heure durant laquelle le classement est “figé”, de façon à ce que le suspens soit gardé jusqu’à la cérémonie de remise des prix. Nous sommes donc à 4 problèmes résolus, mais nous n’arrivons pas à débloquer le 5ème malgré les efforts. De mon côté je creuse un autre problème et sur lequel, en regardant la correction par la suite, j’avais la bonne intuition mais je n’ai pas réussi à aller jusqu’au bout. Trentes minutes avant la fin nous identifions un problème plus simple sur lequel nous étions passés à côté, on essaie de se mettre dessus mais le temps manque et nous finissons finalement avec 4 problèmes résolus.

Notre équipe au travail durant la compétition Notre équipe durant la compétition

Le classement se calcule ainsi : d’abord les équipes sont classés selon le nombre de problèmes qu’elles ont résolu, et ensuite elle sont départagées selon le temps total qu’elles ont mis a résoudre les défis. Durant la remise des prix, nous repartons du bas de tableau au moment où le scoreboard est figé une heure avant la fin, et on découvre en direct le résultat de chaque soumission de solution à un problème durant cette dernière heure. Cela donne une ambiance très sympathique à tout l’amphitéâtre, et Chirstore Dürr se passionne à ce moment là d’animer l’affichage des résultats comme un commentateur sportif ! (Voir cette vidéo du replay de l’année dernière, à 08:09:24)

Nous arrivons donc à la 100ème place sur les 142 équipes présentes ce week-end. Ayant fini à la 107ème place l’année dernière, je suis un peu déçu du résultat de cette participation, surtout de ma performance individuelle où j’aurais aimé performer davantage. Mais malgré tout, je sens que j’ai été plus à l’aise que l’année dernière, en témoigne notamment l’intuition que j’avais pour un problème qui était la bonne et pour laquelle je n’étais pas loin de trouver la solution. Cela me donne surtout la motivation et l’envie de travailler davantage pour mieux performer l’année prochaine ! Je tiens également à citer et féliciter l’équipe 1 de l’INSA Lyon qui a fait une magnifique 18ème place, se qualifiant notamment pour les finales européennes !

Au final je suis très content, comme à l’édition précédente, d’avoir eu l’occasion de participer au SWERC cette année. Ce fût une très bonne expérience durant laquelle j’ai à nouveau beaucoup appris, et qui me donne encore envie de m’améliorer !