SWERC 2020-2021
Les résultats :
- 1st : team Ens Ulm 1 from Ecole Normale Supérieure
12 problems solved - 2nd : team lETHargy from ETH Zürich
11 problems solved
- 3rd : team Madagascar Penguins from Tel Aviv University
10 problems solved - 4th : team EP Epsilon from Ecole Polytechnique
10 problems solved - 5th : team promETHeus from ETH Zürich
10 problems solved - 6th : team EP Rouje from Ecole Polytechnique
10 problems solved
- 7th : team TopOfTheMountain from University of Haifa
9 problems solved - 8th : team Yellow Monkeys from Tel Aviv University
9 problems solved - 9th : team UPC-1 from Universitat Politècnica de Catalunya
9 problems solved - 10th : team Ens Ulm 3 from Ecole Normale Supérieure
9 problems solved - 11th : team SNS1 from Scuola Normale Superiore
9 problems solved - 12th : team SGSS from Università di Padova
9 problems solved - 13th : team Moradonellani from Politecnico Milano
9 problems solved - 14th : team Sushi Squad from Università degli Studi di Milano
9 problems solved
Communiqué de presse : Succès pour le prestigieux concours de programmation SWERC 2020–2021 organisé par l’Institut Polytechnique de Paris
Le concours de programmation SWERC 2020-2021, organisé et animé à distance par des enseignants-chercheurs et ingénieurs de Télécom Paris, sous la bannière de l’Institut Polytechnique de Paris, a eu lieu pour la première fois en distanciel le premier week-end de mars 2021. Cette compétition, sélection régionale du grand concours international de programmation compétitive ICPC qui se tient annuellement depuis 1977, promeut la créativité, le travail d’équipe et l’innovation dans la résolution de problèmes algorithmiques et l’écriture de code informatique. Il permet aux étudiants de tester leur capacité à donner le meilleur d’eux-mêmes sous pression.
Cette édition 2021 a vu s’affronter 327 étudiants de 52 universités répartis dans 107 équipes. Cette année encore, chaque équipe a dû résoudre un maximum de problèmes algorithmiques en 5 heures. Toute solution proposée était instantanément validée ou rejetée par un juge automatique en ligne, et les problèmes préparés par une équipe de 11 juges issus du monde académique (CNRS, École normale supérieure, Télécom Paris, Université Gustave Eiffel, Université de Paris, Université Paris–Saclay) et industriel (Apple, Facebook, Google, Nomadic Labs).
Lors de cette édition du SWERC 2021, les compétitrices et compétiteurs se sont affrontés, faisant preuve d’imagination et habileté sur 13 problèmes d’algorithmes variés. Ils ont dû guider Alice à travers une pièce tout en lui faisant emprunter un chemin aussi éloigné que possible des autres personnes présentes, trouver combien de gâteaux pouvaient être confectionnés à partir d’une liste d’ingrédients, simuler la transformation par morphose d’une image en une autre, ou encore compter le nombre d’entités survivantes d’un automate cellulaire.
Cette édition, dans laquelle une équipe d’IP Paris a remporté deux médailles d’argent en s’inscrivant en 4e et 6e place, a vu la victoire de l’École normale supérieure, dont la meilleure équipe a résolu 12 problèmes, suivie par l’ETH Zürich en 2e place, avec 11 problèmes résolus, puis par Tel Aviv University avec 10 problèmes résolus, un score impressionnant pour une première participation. Ces équipes arrivent en tête d’un classement regroupant les meilleures universités de l’Europe du Sud-Ouest (Espagne, France, Israël, Italie, Portugal, Suisse).
Sponsors :
Les chiffres de participation 2021 sont en croissance :
En images
Le SWERC, quésaco ?
Chaque équipe doit résoudre un maximum de problèmes algorithmiques en cinq heures en produisant du code répondant parfaitement au problème. Toute solution proposée est instantanément validée ou rejetée par un juge automatique en ligne. Les équipes doivent non seulement faire preuve d’organisation et d’habileté au codage mais aussi recourir à de puissants raisonnements mathématiques, car toutes les approches ne sont pas bonnes et seules les plus rapides sont validées. Les problèmes sont préparés chaque année par une équipe d’une dizaine de juges issus du monde académique (CNRS, École normale supérieure, Télécom Paris, Université Gustave Eiffel, Université de Paris, Université Paris–Saclay) et industriel (Apple, Facebook, Google, Nomadic Labs).
Paroles de participants 2020
Louis Abraham, étudiant à Polytechnique
L’équipe de Polytechnique est lauréate du SWERC 2019-2020.
Comment avez-vous entendu parler du SWERC ? Pourquoi avez-vous décidé d’y participer ?
Je dois être l’une des personnes qui a participé le plus car je suis venu 4 fois en tout (de 2016 à 2019-2020).
Au début j’étais intéressé par l’algorithmique. Je voyais cela comme la continuité de l’informatique qui était ma matière favorite en prépa MP-Info. J’ai appris les algorithmes sur mon temps libre pendant le stage militaire de première année de l’École polytechnique, sur les conseils d’amis (des membres de France-IOI) qui m’ont également parlé du SWERC. J’ai ensuite assisté aux sessions d’entraînement communes avec d’autres écoles, organisées par Christoph Dürr. Aucune équipe de l’X n’a eu de médaille cette année-là, la mienne est arrivée 39e sur 60.
L’année suivante, j’ai créé un Binet (association d’élèves à l’X) dédié à l’informatique « scientifique » (computer science), qui organisait entre autres des conférences d’intelligence artificielle et une préparation au SWERC. J’étais moins intéressé par mon résultat personnel au SWERC qu’animé par une volonté d’améliorer l’image de l’école. Grâce au soutien du département d’informatique, l’X a remporté une médaille de bronze, la première depuis des années. De plus, il y avait enfin une préparation régulière pour le SWERC.
En 2018, j’étais étudiant au Master’s in Computer Science de ETH Zurich et j’ai été sélectionné dans la seconde équipe d’ETH. Le classement global a été le même pour la troisième année consécutive : première place pour l’ENS Ulm, tandis qu’ETH reportait la deuxième place, plus une médaille de bronze.
Au-delà de ma première médaille, participer au même concours pour une université étrangère a totalement changé ma vision de la programmation compétitive : plus qu’un hobby ou une manière de motiver les élèves, c’est une communauté qui permet de se faire des amis dans toutes les universités du monde. L’un des membres de mon équipe est d’ailleurs devenu mon meilleur ami dans le Master.
Cependant, j’étais toujours déçu de mes résultats et de ceux de Polytechnique. L’année dernière, j’ai décidé de participer une dernière fois, avec un défi : gagner le SWERC. Notre coach, Hang Zhou, avait déjà prévu d’organiser une préparation renforcée grâce à l’attribution de crédits ECTS. Alors que le niveau de base de mon équipe était déjà avancé, nous nous sommes entraînés de manière plutôt intensive, 5 à 10 heures par semaine pendant à peu près 3 mois en équipe, plus des entraînements personnels. Au final, l’X a eu les meilleurs résultats de l’histoire : première place (médaille d’or) et quatrième place (médaille d’argent).
En quoi votre formation est-elle utile à ce concours ?
Tout d’abord, je dirais que mon cursus personnel en mathématiques et informatique théorique me permet d’avoir une approche assez différente et complémentaire par rapport aux étudiants qui ne sont pas français. Je pense que cela a été déterminant lors de mes dernières participations, avec des camarades de nationalités suisse, roumaine et vietnamienne.
Ensuite, la communication est très importante dans un concours limité en temps et en ressources (un seul clavier). Le cursus de l’École polytechnique inculque des valeurs fortes et des compétences en communication et management qui permettent sans doute de faire la différence entre les équipes toutes excellentes en haut du podium.
Enfin, il est important de savoir expliquer des idées efficacement, donc d’être à l’aise en anglais dans une équipe internationale. L’enseignement des langues est très important dans le cursus polytechnicien qui nous encourage à faire des stages ou étudier à l’étranger.
En fait, je pense que la programmation compétitive a surtout beaucoup apporté à ma formation.
Coder des algorithmes de manière concrète est très important pour pouvoir les comprendre et la programmation compétitive permet de dépasser une réticence fréquente qu’ont les étudiants (moi le premier) à coder. Résoudre des problèmes permet aussi de gagner en intuition et en profondeur dans sa compréhension des idées. Enfin, et c’est sûrement le plus précieux, il n’y a pas de meilleure manière d’améliorer ses compétences de communication que de le faire sous la pression d’un concours limité en temps. En tant que capitaine d’équipe, il faut arriver à évaluer la situation et prendre des décisions critiques, le tout en maintenant la confiance mutuelle et la bonne entente.
Comment vous êtes-vous préparé au concours ? Que conseillez-vous aux participant·e·s afin de se préparer pour l’édition à venir ?
Au début, j’ai appris les bases des algorithmes en Python sur le site de France IOI puis sur HackerRank. Pour les nouveaux participants, je conseillerais le livre « Programmation efficace » de Christoph Dürr (mon ancien coach) et Jill-Jênn Vie qui enseigne les algorithmes classiques en Python. Cependant, les meilleures équipes utilisent C++ (surtout pour des raisons historiques) et la plupart des codebooks utilisent ce langage. Il est donc préférable de le maîtriser dans un second temps si on vise les premières places.
Actuellement, mon équipe s’entraîne en faisant des compétitions sur Codeforces. Nous faisons aussi des problèmes de SPOJ ou Timus qui concernent des techniques particulières.
Hang Zhou, enseignant-chercheur à Polytechnique
Hang Zhou est l’entraîneur des équipes SWERC de Polytechnique.
Que conseillez-vous aux participant·e·s afin de se préparer pour l’édition à venir ?
À mon avis, le plus important dans la préparation aux concours de programmation est de s’entraîner dur. Depuis trois ans, nous avons monté trois nouveaux cours sur la préparation au SWERC au département d’informatique de l’École Polytechnique : Modules Appliqués en Laboratoire (MODAL), Projet Scientifique Collectif (PSC), et Enseignement d’Approfondissement (EA), avec en total 17 ECTS. Ces formations, qui couvrent une période de deux ans, permettraient à nos élèves de préparer au SWERC de manière intensive. Nos élèves passent également beaucoup de temps libre sur la programmation, notamment le soir et le week-end. En particulier, des membres de l’équipe Chopper (premier au SWERC’19) s’étaient entraînés jusqu’à Noël, et les membres de l’équipe Rouje (quatrième au SWERC’19) s’entraînaient jusqu’à 4h du matin !
Il est à noter que, à part réussir au SWERC, la préparation aux concours de programmation est utile elle-même pour former des excellents informaticiens. J’ai l’impression que, par le passé, il y avait une tendance en France selon laquelle les élèves les plus intelligents étudiaient les mathématiques. À mon avis, l’informatique est un domaine aussi important que les mathématiques et en plus très utile dans le monde d’aujourd’hui. Il faudrait donc plus de talents pour promouvoir la communauté informatique en France. Les formations sur les concours de programmation aideraient également à attirer des talents vers l’informatique. À l’École Polytechnique, des élèves brillants en mathématiques suivent ces formations intensives sur la préparation au SWERC. C’est une occasion non seulement pour améliorer ses compétences en algorithmique et en programmation, mais aussi pour acquérir une meilleure vision sur l’informatique. En particulier, plusieurs de nos élèves dans ces formations ont été lauréats dans les Olympiades nationales et internationales en mathématiques avant leur intégration à l’X, comme Henry Bambury, Killian Dengreville, Marc Dufay, François Sellier, Thomas Sepulchre, Antoine Stark et Alexandre Thiault. À l’issue de ces formations sur la préparation au SWERC, certains de ces élèves se sont orientés vers l’informatique, certains vont décider plus tard, et j’espère qu’ils vont également contribuer à promouvoir l’informatique en France.
Pierre Gimalac, étudiant à Télécom Paris (vidéo)
Pierre Gimalac fait partie de l’équipe de Télécom Paris participant au SWERC 2019-2020 (arrivée trentième, elle a gagné un prix spécial pour avoir été une des deux plus rapides à résoudre un premier problème).
Comment avez-vous entendu parler du SWERC ?
J’ai participé pour la première fois au SWERC 2019 alors que j’étais en Licence à l’université Paris Diderot. Un ami m’a proposé de faire une équipe, je trouvais ça intéressant et nous y avons donc participé.
Pourquoi avez-vous décidé d’y participer ?
J’aime beaucoup la programmation compétitive, je trouve que c’est une activité qui apprend à programmer vite et bien ainsi qu’à résoudre des problèmes complexes d’algorithmique.
Le SWERC est un concours qui regroupe les meilleurs étudiants des université du sud-ouest de l’Europe, c’est donc une bonne opportunité d’affronter des équipes de haut niveau et de représenter l’école.
De plus on nous offre à boire et à manger pendant tout le weekend, et il y a des récompenses pour les meilleurs à la fin, je ne vois pas quoi demander de plus. Par exemple mon équipe avait été la première à résoudre un problème et avait gagné une boite de Legos.
De manière générale l’ambiance est très sympathique et c’est une très bonne expérience, on y apprend également le travail de groupe vu qu’il n’y a qu’un ordinateur par équipe !
En quoi votre formation est-elle utile à ce concours ?
La formation à Télécom est utile d’une part pour le cours obligatoire d’algorithmique en première année, et d’autre part pour le cours d’entraînement aux concours de programmation qui est une option de 2e année.
La vie associative de l’école permet également de se préparer à ce genre de concours: Télécode, le club de programmation compétitive de l’école, organise des cours de manière hebdomadaire ainsi que des concours de programmation de temps en temps, dans l’objectif de préparer les étudiants.
Comment vous êtes-vous préparé au concours ?
Je fais la plupart des concours dont j’entends parler et j’essaie de faire des problèmes pour m’entraîner de temps en temps.
Quelles suites à donner à votre participation ?
Suite à ma première année à Télécom et à ma participation au SWERC, j’ai décidé de relancer Télécode, le club de programmation compétitive de l’école. L’objectif est d’encourager et d’aider les étudiants de Télécom, en particulier ceux de première année, à participer à des concours de programmation.
Que conseillez-vous aux participant·e·s afin de se préparer pour l’édition à venir ?
Participez à des concours de programmation et lisez les annales du SWERC.
Retour sur les précédentes éditions du SWERC
Photos et vidéo SWERC janvier 2020 (photos Comète, vidéo Comète et ICPC Live)