/md.wettbewerb2023

Programmierwettbewerb 2023 :trophy: Team π :1st_place_medal: Mathe-dual e.V.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

🏆 Programmierwettbewerb 2023 (Mathe-dual e.V.)

License: GPL v3

🥇 Team π

This repository is one of two repositories we used for conquering the programming competition 2023. It contains our best results (and a few along the way), log files, interesting research, as well as Python scripts to visualize, compare, plot and evaluate the circle packing, run the algorithms in parallel, approximate the score, scrap the webpage with the intermediate score of the other teams, a few other strategic considerations and some miscellaneous shenanigans. cortex359/md.wettbewerb2023

The other repository contains the actual solver, written in C++ as well as scramblers and the code for creating the images and animations. Rankail/md-wettbewerb-2023


Final Score

Place Team Bonus Total Score Code
1. pi 100 9025
2. koeln 50 8794
3. coca-cola-und-nutella 25 8538
4. uka 8030
5. ets 7046
6. fabio-palmen 5424
7. horst 5085
8. bug-prevention 4688
9. mongulus-und-bongulus 1340
10. suffkapuff 1220

Mathe-dual e.V.

🇩🇪 Blog Post über die Siegerehrung, Finale Auswertung und Vergleichsübersicht, sowie allgemeine Informationen über den Wettbewerb auf mathe-dual.de.

This Repository

A list with relevant research publications can be found here: RESEARCH.md

An overview over our best results: results/current_best/README.md

The latest comparisons of our results with other teams:

Installation

In order to use the python scripts, some packages need to be installed in your environment.

pip install -r requirements.txt

Web crawler

Usage

Generate relative score tables:

Fetch snapshots with python webcrawler.py and extract current snapshot.zip:

snapshot="snapshot_060323_2300"
teams=( koeln coca-cola-und-nutella uka ets fabio-palmen bug-prevention horst )

for t in $teams; do
  mkdir "web/data/${t}/${snapshot}"
  unzip -d "web/data/${t}/${snapshot}" "web/data/${t}/${snapshot}.zip"
done

Enter the group directory and extract tables:

for t in ${teams}; do
  for i in {01..14} ; do
    pcre2grep -Me '(?:<pre>)([^<]+[\n\s]*)+(?:<\/pre>)' -m1 --output '$1' web/data/${t}/${snapshot}/forest${i}.txt.html >| web/data/${t}/${t}.forest${i}.table
  done
done

parse tables and save relative scores:

{
  for i in {01..14} ; do
    python web/score_webtable.py forest${i} ${teams};
  done
} >| web/relative_score_tables/overview-$(date +'%F_%H-%M').md