Programmeringsolympiaden - onlinekval

Välkommen! Vad kul att du hittat hit till oss på Programmerings­olympiaden. Vi är gymnasie-SM i tävlingsprogrammering - problemlösning med hjälp av att skriva program. Du kan läsa mer om oss och tävlingen här på vår hemsida. Läs vidare på den här sidan för att komma igång i onlinekvalet.

Särskilt för damjunior-EM: För att vara med i uttagningen så behöver du först vara med i antingen skol- eller onlinekvalet. Resultatet spelar ingen roll. Under vintern kommer det vara 3 uttagningstävlingar. Det kommer också vara en hel del träningar där man kan lära sig mer. Läs mer på EGOI-sidan.

Årets affischproblem

Längs med sidorna i ett rutnät lyser lampor av tre olika färger, rött, blått, och grönt, in i rutnätet. En lampa lyser på alla rutor i den rad eller kolumn som lampan lyser mot. Om en ruta lyses upp av minst en lampa av varje färg lyser rutan vitt. I exemplet till höger lyser rutan längst upp till vänster vitt - rött uppifrån och högerifrån, blått vänsterifrån, och grönt underifrån. Rutan rakt under den saknar däremot blått ljus. Givet färgerna på lamporna längs med rutnätets sidor, kan du räkna ut hur många av rutorna som lyser vitt?

Kan du lösa exemplet till höger har du redan 20 poäng på uppgiften! Läs vidare för att se hur du skickar in ditt svar.

Tävlingssidan och anmälan

För att skicka in ditt svar behöver du först skapa ett nytt konto på tävlingssystemet Kattis. Om du redan har ett konto på träningssidan OpenKattis kan du återanvända ditt konto. När du skapat ditt konto och loggat in anmäler du dig till tävlingen genom att klicka på knappen "Join the contest" på tävlingens poängtavla. Detta är också allt du behöver göra för att anmäla dig!

Skicka in ditt svar

Nu är du redo att skicka in ditt svar, vilket du i praktiken gör genom att skicka in ett program som skriver ut svaret. Om du bara vill ge ett enda svar (oavsett indata) så är det lättast att använda t.ex. Python som har en väldigt kort syntax för att skriva ut. För att göra det går du in på inskickningssidan. Du klickar sedan på knappen "Switch to editor". I rutan som kommer upp skriver du:

print(3)
om du vill svara att antalet rutor är 3. Du ersätter förstås 3 med ditt eget svar. Välj sedan språket "Python 3" under "Language", och klicka på "Submit". Tävlingssystemet kommer nu berätta vad du fick för poäng. Hade du rätt svar får du 20 av totalt 100 poäng, annars 0. När du lyckats med exemplet ovan, försök lösa problemet på riktigt. Om du inte lyckas är det bara att försöka igen, så många gånger du vill. Lycka till! Resten av kvalets problem dyker upp den 11 november kl 18:00.

Hjälp!

Har du stött på problem när du försökt skicka in ditt svar? Gå med i vår Discordchat där du kan ställa frågor till tävlingsarrangörerna och få snabba svar. Du kan också maila [email protected] om du inte vill använda chatten.

Finalen

Tidigt nästa år äger finaltävling rum. Kvalificerar du dig kommer du få chansen att få träffa och tävla mot några av Sveriges bästa programmerare. Går det bra i finalen har du dessutom goda förutsättningar inför landslagsuttagningen, och chansen att representera Sverige i den nordisk-baltiska olympiaden samt den internationella olympiaden.

Träningstävling

Från 25 oktober 18:00 till 7 november 22:00 finns det en träningstävling på powarmup22.kattis.com. Här får du chans att öva på den typen av problem som sedan kan dyka upp i det riktiga kvalet. Om du löser minst 3 problem så har du chansen att vinna ett pris!