Lørdag morgen er 73 hold mødt op på IT-Universitetet, Københavns Universitet og Aarhus Universitet for at konkurrere om det traditionsrige DM i Programmering.
Sidste år blev konkurrencen afholdt virtuelt på grund af corona. Men i år er det heldigvis muligt at mødes fysisk igen. Og det gør konkurrencen noget sjovere.
Konkurrencen foregår i hold på hver tre personer, og der er tradition for, at holdene har fantasifulde navne.
På forhånd er favoritterne forrige års danmarksmestre, Ballondyrene, fra Københavns Universitet og sidste års vindere, The floor is made of Java, fra DTU med den regerende danmarksmester Alice Ryhl.
Alice har dog været nødt til at finde to nye deltagere til sit hold, da to af deltagerne fra sidste års vinderhold i år er faldet for aldersgrænsen.
Det er nemlig kun yngre universitetsstuderende, der kan deltage.
De to nye deltagere på The floor is made of Java er Alexander Skovsende og Simon Tarnow, der begge læser på DTU.
Klokken 11:00 bliver opgaverne frigivet, og der bliver helt stille i kantinen på biocenteret på Københavns Universitet, hvor konkurrencen på Københavns Universitet foregår.
Det gælder om at løse flest opgaver, men i tilfælde af ligestilling bliver konkurrencen afgjort af hvem, der har løst opgaverne hurtigst.
Så når konkurrencen går i gang, gælder det om at få identificeret de nemmeste opgaver og få løst dem hurtigst muligt.
Allerede efter to minutter løser Scream&cout fra København den første opgave og lægger sig dermed i spidsen for konkurrencen.
Efter seks minutter får Scream&cout også løst den anden opgave, men efter 11 minutter får de følgeskab af Tmp og It Works On My Subsystem fra Aarhus.
Det tegner dermed sig som så ofte før til at blive et tæt opgør mellem de bedste hold fra København og Aarhus.
Hver løst opgave giver en farvet ballon, så man kan følge med i hvilke hold, der fører, og snart er hele lokalet fyldt af balloner.
Efter 17 minutter får The floor is made of Java fra DTU løst den tredje opgave og lægger sig dermed i spidsen for blot at blive overhalet af Scream&cout, der løser den fjerde opgave efter 31 minutter og den femte opgave efter 39 minutter.
De tidligere år har de tre deltagere skulle deles om den samme computer.
Men på grund af corona har man i år sine egne computere med, og deltagerne kan derfor fordele opgaverne mellem sig og løse en opgave hver.
Efter 50 minutter lægger The floor is made of Java fra DTU sig i spidsen ved inden for 10 minutter at løse den fjerde, femte og sjette opgave.
Så efter den første time fører The Floor of Java fra DTU med seks opgaver fulgt af Scream&cout fra Københavns Universitet med fem opgaver og Tmp fra Aarhus Universitet med fire opgaver.
Skifter karakter
Men derefter skifter konkurrencen karakter.
Konkurrencen bliver nemlig i sidste ende ikke afgjort af hvem, der er hurtigst, men hvem der kan løse flest af de svære opgaver.
I alt har man fem timer til at løse så mange af de 13 opgaver som muligt.
Og de sværeste opgaver er så svære, at de tager selv de bedste hold flere timer at løse.
Så det gælder det om at samarbejde om at komme med gode ideer til at løse opgaverne.
Du kan se alle opgaverne her ved at klikke her: https://ncpc21.kattis.com/problems
Man skal ikke bare lave et program, der kan løse opgaverne, man skal ofte også finde en effektiv løsning, som kan løse opgaverne indenfor den specificerede køretid, for testdatasættene kan være endog meget store.
Og når opgaverne bliver sværere, begynder de gamle garvede hold at markere sig i konkurrencen.
Lægger sig i spidsen
Efter to timer har både The floor is made of Java og scream&cout løst syv opgaver, efterfulgt af Ballondyrene med seks opgaver.
Men fire minutter senere lægger The floor is made of Java konkurrenterne bag sig ved at løse den ottende opgave, og en time senere løser de også den niende opgave og lægger sig igen i spidsen.
En halv time før tid lykkes det Ballondyrene at komme op på anden-pladsen ved at løse den ottende opgave.
På målstregen
Men bare 12 sekunder før de fem timer udløber, lykkes det også Scream&cout at løse den ottende opgave, og holdet snupper derfor anden-pladsen på målstregen, fordi det havde bedre tider på de første opgaver.
Udenfor konkurrencen deltager forskellige oldboys-hold som Tejscode Brothers fra Københavns Universitet og Beyond Balmer’s Peak fra Aarhus Universitet, der flere gange tidligere har vundet DM i Programmering.
Tejscode Brothers består af brødrene Tejs Knudsen, der var med på de første Lambdabamse-hold fra DIKU, der flere gange vandt DM i Programmering, og som det eneste danske hold nogensinde har kvalificeret sig til verdensmesterskabet i programmering i 2015.
Oldboysholdene deltager ikke i den rigtige konkurrence, men er kun med for sjov.
Selv om de kun er to på holdet, så lykkes det Tejs-brødrene at løse hele 10 opgaver og blive nummer to i hele Norden kun overgået af det legendariske Omogen Heap hold fra Sverige, der løser 11 opgaver.
Ærkerivalerne Beyond Balmer’s Peak fra Aarhus Universitet følger lige efter med ni opgaver ligesom vinderholdet blandt de studerende.
Vindere af det officielle DM i Programmering og førstepræmien på 10.000 kr. bliver for andet år i træk The floor is made of Java.
De bedste hold fra hvert universitet går videre til den nordeuropæiske finale NWERC, der skulle have været holdt på Island, men som ligesom sidste år bliver afholdt virtuelt på grund af corona.
Og de bedste hold fra NWERC går videre til verdensmesterskabet i programmering.
DM i Programmering bliver arrangeret af Netcompany, Jobindex, Computerworld, ITU, Aarhus Universitet og DIKU Business Club.
Du kan se slutstillingen blandt de danske hold ved at klikke her.
DM i Programmering har også en mindre søskende, Dansk Datalogi-Dyst for gymnasielever.
Dansk Datalogi-Dyst er en del af Science Olympiaderne, der også omfatter konkurrencer i matematik, kemi, fysik, biologi og geografi.
Dansk Datalogi-Dyst indledes med den første dyst i efterårsferien, men man kan allerede nu træne på øvelsesopgaverne.
Hvis du kender en datalogi-interesseret gymnasieelev kan de læse mere på siden https://danskdatalogidyst.dk/