Git Product home page Git Product logo

ascilustrum's Introduction

ASCI lustrum coding battle

Dinsdag 21 juni is het zover, en zal de experty coding battle ter gelegenheid van het ASCI lustrum plaatsvinden op het hoofdkantoor van experty. De deelnemers zullen in twee groepen van 25 tot 30 man aanwezig zijn, en in teams van 2 zo snel mogelijk programmeeropdrachten oplossen.

Algemene info

Schema

De eerste groep wordt om 13:00 ontvangen, en de tweede groep om 15:00. Elke groep is 2 uur lang aanwezig. Tijdens de eerste 20 minuten vindt de ontvangst plaats en kunnen de teams zich voorbereiden op de eerste opdracht. Hierna zal de eerste opdracht worden uitgegeven, en elke 25 minuten nog een opdracht, tot alle vier de opdrachten zijn gepubliceerd. Als een team elke opdracht wil oplossen is er dus 25 minuten per opdracht beschikbaar.

Zodra het tweede team klaar is om 17:00 zal het eerste team ook weer arriveren, en hierna zal de prijsuitreiking plaatsvinden. Uiteindelijk kan er nog nagekletst- en geborreld worden tot 18:00.

Puntentelling

Om te winnen moet een team de meeste punten verdienen. Punten worden verdiend door opdrachten successvol op te lossen. Per opdracht is het aantal te behalen punten echter afhankelijk van hoe snel de opdracht wordt opgelost, want wie het eerst komt, wie de meeste punten krijgt.

  • Eerste team met correcte oplossing: 10 punten
  • Tweede team met correcte oplossing: 8 punten
  • Derde team met correcte oplossing: 6 punten
  • Elk volgend team met correcte oplossing: 5 punten

Daarnaast zijn er voor de derde opdracht 5 bonuspunten te verdienen indien de oplossing de moeilijkste input kan verwerken, ongeacht wanneer de oplossing wordt ingediend.

Beoordeling

Elke opdracht wordt aangeleverd met 1 voorbeeldinput en het verwachte resultaat van deze input. De overige inputs zitten in bestanden die met een wachtwoord beveiligd zijn, en alleen de nakijkers aan de bar kunnen deze ontsleutelen. Als aan de bar blijkt dat de oplossing voor elke input de correcte output geeft worden punten uitgedeeld, zo niet, dan moet eerst de oplossing worden verbeterd. Als uitzondering hierop is de bonus-input van opdracht drie, maar deze zal bij een naïeve oplossing hooguit te lang duren om te berekenen. Oplossingen dienen binnen maximaal 10 seconden berekend te worden.

Technische details

In deze repo vind je code templates die je kunt gebruiken om snel van start te gaan.

Input voor de opdrachten dient aan de scripts te worden gevoerd middels stdin (standard input). Voor sommige opdrachten zal de input gemakkelijk zelf in te typen zijn, maar voor anderen is de input groot en is het handiger om dit geautomatiseerd in te lezen.

Door stdin te gebruiken kan gemakkelijk input data worden gedownload en vervolgens ge-piped richting je script.

cURL - Linux

curl -s https://pizza-expert.nl/input/voorbeeld/1 | ./oplossing1.py

Wget - Linux

wget -qO- https://pizza-expert.nl/input/voorbeeld/1 | ./oplossing1.py

Execute rechten

Vergeet niet om je scripts execute rechten te geven, anders gaan bovenstaande voorbeelden niet werken. Als je dat niet wilt kan je ook altijd je runtime naar keuze zelf gebruiken om het script uit te voeren:

curl -s https://pizza-expert.nl/input/voorbeeld/1 | python3 oplossing1.py

ascilustrum's People

Contributors

edemeijer avatar

Stargazers

Léon Melein avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.