Lambdabamserne Nicolai Nebel Jørgensen, Nikolaj Simling og Jakob Tejs Knudsen ved præmieoverrækkelsen

Sejrherrer for sjette gang: Lambdabamserne vinder DM i Programmering 2016

Reportage: Teamet Lambdabamserne fra DIKU vandt lørdag DM i Programmering for sjette gang efter et tæt opløb med et elitehold fra Aalborg. Se, om du selv kan løse opgaverne her.

30 hold fra Datalogisk Institut på Københavns Universitet (DIKU), Danmarks tekniske Universitet og IT-Universitetet mødte lørdag formiddag op for at dyste i DM i Programmering.

På Aarhus Universitet og Aalborg Universitet befandt der sig yderligere. I alt er 28 og otte hold klar til at konkurrere.

Nogle studerende havde været til fest dagen i forvejen og var primært mødt op for at være med.

Men topholdene havde trænet opgaver i flere uger for at forbedre deres chancer.

Det gjaldt bland andre Lambdabamserne, der vandt sidste år efter en intens konkurrence, hvor holdet løste dets sjette opgave 10 minutter før tid, og dermed overhalede Beyond Ballmer's Peak fra Aarhus Universitet, der løste fem  opgaver. 

Læs reportagen fra DM i Programmering 2015 her.

Der er tradition for at give holdene lange indforståede navne.

Lambdabamserne henviser således til lambda-kalkyler, mens navnet Beyond Ballmer's Peak hentyder til en gammel Microsoft vittighed om, at man er maksimalt kreativ ved en alkohol promille på omkring 1,3.

Simple regler, komplekse problemer
Til DM i programmering er reglerne simple: Man skal løse flest programmeringsopgaver på fem timer.

Opgaverne går fra simple opgaver, som de hurtigste hold kan løse på få minutter, til opgaver, som vil tage de fleste programmører adskillige dage at løse.

Der er tre studerende på hvert hold, men kun en computer, så man må fordele opgaverne og skiftes til at programmere.

Præcis klokken 11:00 går konkurrencen i gang. Hvis flere hold har løst lige mange opgaver, er det tiden, der er afgørende, så en vigtig del af konkurrencen er at udnytte tiden optimalt.

En af opgaverne er en forholdsvis simpel opgave, så man kommer i gang og finder ud af, hvordan man submitter programmer til den automatiske dommer.

Efter 10 minutter havde Beyond Ballmer's Peak fra Aarhus løst den første opgave og havde dermed lagt sig i spidsen foran Lamdabamserne fra København, der løste opgaven på 11 minutter.

Du kan se opgaven her.

Holdene får nogle simple testcases, som de kan teste deres programmer på.

Når man mener, at man har fundet en løsning, kan man indsende programmet og få det testet mod nogle hemmelige og langt større testscases.

Køretiden er også vigtig. Hvis der står i opgaven, at input kan bestå af op til 100.000 linier, så kan man være sikker på, at input består af mindst 50.000 linier, og at programmet skal kunne løse opgaven på nogle få sekunder på en almindelig pc, så man kan ofte ikke anvende den simpleste løsning.

Hvis man indsender en forkert løsning, får man 20 minutters straftid, og det ramte lørdag begge de førende hold, der havde mere end svært ved at løse den næste opgave korrekt.

Det betød, at "PHP>Haskell" fra Københavns Universitet efter 38 minutter lagde sig i spidsen ved at løse opgave nummer to fejlfrit i første forsøg foran Pythons fra Aalborg, der løste den anden opgave på 45 minutter.

Du kan se opgaven her.

Lambdabamserne fra DIKU når syv løste opgaver
Efter en time lagde Beyond Balmers Peak sig i spidsen igen ved som det første hold at løse opgave nummer tre, men efter halvanden time blev holdet overhalet af Lambdabamserne, der som det første løste opgave nummer fire.

Men derefter blev opgaverne væsentlig sværere, og der blev væsentligt længere mellem besvarelserne.

Efter fem timer var konkurrencen slut, og Lambdabamserne fra DIKU vandt konkurrencen for sjette gang med syv løste opgaver foran Beyond Ballmers Peak fra Aarhus Universitet med seks løste opgaver, Ninja-aberne fra DIKU med fem løste opgaver, og Avocado fra Aarhus Universitet og Pythons fra Aalborg Universitet med hver fire løste opgaver.

Artiklen fortsætter under billedet... Oldboys hold fra virksomheder prøvede også
Uden for konkurrencen deltog forskellige oldboys hold.

De talte blandt andet Faster Forward, der bestod af medarbejdere fra Akamai (tidligere Octoshape), og DAIMI Oldboys, der begge løste seks opgaver. 

Men både i København og Aarhus måtte de bedste oldboys hold i år se sig slået af de lidt hurtigere studerende.

For at deltage i den rigtige konkurrence skal alle deltagerne på holdet være studerende på maksimalt 24 år, så oldboys-holdene kan altså ikke vinde eller gå videre, men deltager kun for sjov skyld og for at få trænet hjernemusklerne lidt.

Lambda-bamserne består af Nicolai Nebel Jørgensen, Nikolaj Simling og Jakob Tejs Knudsen, alle fra Københavns Universitet.

Sponsorerne af DM i Programmering er Netcompany, Jobindex og Computerworld, og de tre studerende vandt en check på 10.000 kroner, tre programmerbare droner og en billet til de nordvesteuropæiske mesterskab, der foregår 19.-20. november i Bath i England.

Der får de dog hård konkurrence af blandt andre Game of Nolife fra Finland og Omogen fra Sverige, der begge løste 10 opgaver.

Alt i alt deltog 270 hold fra hele Norden i konkurrencen.

Hvis det lykkes at klare sig godt i England, går Lambabamserne derfra videre til verdensmesterskabet i programmering, der foregår i South Dakota, USA, til næste år.

Det lykkedes i 2014, hvor Jakob Tejs Knudsen også var med på holdet og var med til VM i Marokko. 

Læs artiklen med landsholdet i programmering til VM her.

Der var dog en enkelt opgave, som ingen af de 270 hold løste. Hvis du har mod på at prøve kan du se opgaven her.



Premium
Fremtiden har aldrig set mere usikker ud for Intel: Her er det, der kan redde – og dødsdømme chip-kæmpen
Computerviews: Intels nyslåede topchef Pat Gelsinger står overfor en stribe rigtig svære beslutninger. Hvis han ikke træder varsomt, vil chip-giganten sandsynligvis sygne hen.
Computerworld
Denne malware er den største trussel mod din virksomhed lige nu
Den mest aktive malware i verden sniger sig ind, og at svært at gøre nøget ved. Se her hvordan du tager dine forholdsregler.
CIO
Podcast: Hos Viking Life-Saving Equipment er it gået fra at være backend til at være noget, som kunderne spørger aktivt efter
Podcast, The Digital Edge: Viking leverer en stadig større del af deres produkt som en tjeneste. Som en del af tjenesten tager Viking ansvar for sikkerheden ved at levere, dokumentere og vedligeholde det nødvendige sikkerhedsudstyr. Hør hvordan Henrik Balslev senior digital director hos Viking har løftet den opgave.
Job & Karriere
Microsoft i kæmpe dansk satsning - åbner tre store datacentre i Danmark
Microsoft lancerer kæmpe satsning fra hovedkvarteret i Lyngby. Selskabet åbner tre store bæredygtige datacentre på Sjælland.
White paper
Optimér produktiviteten og lad din printer følge med ud i skyen
De fleste virksomheder investerer betydelige beløb i den digitale transformationsproces, men skriver alligevel dokumenter ud som aldrig før, og medarbejdere opfatter decideret print som en forudsætning for at kunne arbejde effektivt. Alligevel er virksomhedens printstruktur ofte et systemmæssigt stedbarn, der er sammenstykket af mange forskellige enheder og platforme – hvilket skaber forvirring og betydeligt tidsspilde. Print passer heller helt ind i hverken den eksisterende digitale infrastruktur eller i den cloudbaserede infrastruktur, virksomheden sigter mod. Det udfordrer både sikkerhed, produktivitet og digital strategi som hele. I denne hvidbog kan du læse om udfordringerne og om, hvordan du håndterer dem mest effektivt som et led i den digitale transformationsproces.