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

Sara vill köpa en massa fika! Hon har 13kr att spendera på fika. Det finns 3 sorters bakelser: muffins, kanelbullar och chokladbollar. Hon gillar dock inte när fikat blir för enformigt, så hon vill inte köpa mer än två av samma sort. Hon vill köpa så många bakelser som möjligt. Hur många kan hon köpa? Du kan se fikat nedanför:

För att vara exakt finns det alltså:

Hon kan inte köpa 3 muffins även om dom är billiga, eftersom det är mer än två av bakelsesorten muffins.

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

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å problemsidan. Välj programmeringsspråket "Python 3" i listan till höger. Du klickar sedan på knappen "Start coding". I rutan som kommer upp skriver du:

print(25)
om du vill svara att Sara kan köpa 25 stycken bakelser. Du ersätter förstås 25 med ditt eget svar. Sedan klickar du på knappen "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. Nytt för i år är att du kommer att få se testfallet du får fel på om du misslyckas. Detta kommer bara gälla på affischproblemet och inte resten av kvalproblemen. Lycka till! Resten av kvalets problem dyker upp den 28 november kl 18:00.

Om du vill testa ditt program på affischfallet finns fallet här, i samma format som resten av problemet:

7
13
2
1 2 5 1 7 3 6
1 1 2 1 2 3 2

Hjälp!

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 po@kodsport.se om du inte vill använda chatten.

Finalen

24-26 Januari 2025 äger finaltävlingen rum i Göteborg. 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 4 november till 24 november kommer det finnas en träningstävling här. 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!