Division of Artificial Intelligence and Integrated Computer Systems

Svenskt Mästerskap i Programmering 2004

Lördagen den 2 oktober kl. 11-16 hölls den 9:e upplagan av SM i programmering parallellt i Lund, Linköping, Umeå och Stockholm. Tävlingen är en del av ACMs International Collegiate Programming Contest. Eftersom SM hade samma uppgifter och gick samtidigt som Norgemästerskapen, så var det även ett Nordiskt Mästerskap. Huvudarrangör var Institutionen för Datavetenskap vid Linköpings universitet med Dataföreningen Östra Kretsen som huvudsponsor.
Nedan finns uppgifterna, våra exempellösningar samt resultaten dels för den nordiska tävlingen och dels för den svenska.

Slutgiltig ställning

Resultatsida för SM

Resultatsida för NM

Sammanslagen resultatsida för NM/SM

Uppgifter, testdata och testlösningar (tar.gz)



Huvudarrangör:
Fredrik Heintz, Institutionen för datavetenskap, Linköpings universitet
Lokalarrangörer:
Roy Andersson, Institutionen för datavetenskap, Lunds tekniska högskola
Set Norman and Peter Hagervall, Institutionen för datavetenskap, Umeå universitet
Mikael Goldmann, Institutionen för numerisk analys och datalogi, Kungliga tekniska högskolan
Överdomare:
Stein Norheim

Programmerings-SM är en tävling, öppen för universitetsstuderande i hela landet, där lag om 3 personer och en dator ska lösa kluriga programmeringsproblem så snabbt och korrekt som möjligt. Problemen går ut på att först förstå vad uppgiften egentligen går ut på genom att läsa uppgiftstexten, sedan gäller det att hitta rätt algoritm eller datastruktur för lösa själva problemet. I de nationella tävlingarna är det oftast en vanlig algoritm som har maskerats eller som ska modifieras lite grann. I de internationella tävlingarna måste man ofta kombinera fler olika datastrukturer eller algoritmer för att lösa uppgifterna.

Tävlingen har inga priser förutom evinnerlig ära. Däremot ger bra placeringar i tävlingen ett utmärkt förhandlingsläge mot sitt universitet eller institution för att åka till regionsfinalen som i år går i Lund, den 13-14 november. Flera universitet, däribland Linköpings universitet, Lunds tekniska högskola, kungliga tekniska högskolan och Umeå universitet, brukar ha som policy att skicka de bästa lagen från sin respektive skola till regionsfinalen. Från regionsfinalen går det bästa laget vidare till världsfinalen (oftast de två bästa, men det är inte säkert).

Sverige har en fin tradition av att placera sig bra både i regionsfinalen och i världsfinalen. De tre senaste åren har det varit ett lag från KTH i världsfinalen, där de slutat på 2:a, 11:e respektive 13:e plats vilket är väldigt bra gjort. Tidigare år har lag från Umeå och Linköping varit i världsfinal. Den bästa placeringen har Three Headed Monkey från KTH 2003 då de kom 2:a.

Förra året var det 77 lag som deltog i SM och 150 som deltog i det nordiska mästerskapet. Vi hoppas att ännu fler duktiga programmerare och datavetare ställer upp i år.

Har du frågor kontakta tävlingsansvarige Fredrik Heintz.


Pressklipp


Tävlingsform

Lagtävling (max 3 personer och 1 dator per lag), där man under 5 timmar skall försöka lösa så många problem som möjligt (av 6-8). Problemen skall lösas med hjälp av C, C++, eller Java.


Hjälpmedel

Inga egna datorer/disketter, för övrigt i princip obegränsat. Den exakta utrustningen som används beskrivs på respektive tävlingsorts lokala sida.


Regler

Regler för SM
ACMs regler för regionfinaler
Ofta frågade frågor

Kostnad

Deltagande i tävlingen kostar ingenting, dock får varje lag/högskola själv stå för resa, kost och logi.


Lokal information

Lokala arrangörerna
Linköping
Lund
Stockholm
Umeå

Vinster

Första priset är som vanligt evinnerlig ÄRA. Flera lärosäten försöker skicka sina bästa lag till ACM regionstävlingen, som i år går i Lund, 13-14 november. Bra placerade lag från andra högskolor och universitet kan med gott samvete försöka förmå sina lärosäten att skicka dem till Lund.


Allmän information

Under själva tävlingen kommer aktuell ställning att redovisas här på webben, så att intresserade kan följa hur det går för lagen. Uppgifterna kommer också att läggas ut efter tävlingsstart. Under tävlingens sista timme sker ingen uppdatering av resultatsidan, men slutresultatet kommer att läggas ut ungefär en timme efter tävlingens slut.

Vi följer ACMs regler för tillåtna bibliotek för C++ och Java. Detta innebär att t.ex. Standard Template Library (STL) är tillåtet.

Vi kommer att ta hänsyn till att Java har långsammare exekveringstid vid tidssättning av problemen.

Tänk på att ta med er något ät- och drickbart, tävlingen är lång även om det kommer att kännas som om tiden bara flyger iväg.


Exempeluppgifter

Ett bra sätt att öva inför tävlingen och för att testa hur bra man är att försöka lösa gamla uppgifter. På nätet finns stor samlingar med uppgifter. För lite enklare uppgifter se sidorna för tidigare SM-tävlingar nedan.
Europeiska ACMs arkiv. Innehåller många tidigare problem som använts i ACMs tävlingar.
Valladolid: en problemsamling som dessutom erbjuder on-line rättning av uppgifter.

Historik

Tävlingen skapades 1991 av Roy Andersson vid institutionen för datavetenskap vid Lunds universitet, och kallades då datavetenskaps programmeringstävling. Sedan 1996 är tävlingen "SVENSKT MÄSTERSKAP inom ACM International Collegiate Programming Contest". ACM:s tävling är en världsomspännande tävling med uttagningstävlingar över hela världen inför världsfinalen. Även om tävlingen är ett svenskt mästerskap skall den fortfarande först och främst ses som ett inte alltför allvarsbetonat, men uppiggande, inslag knutet till datalogiundervisningen vid arrangörsinstitutionerna. År 2000 anslöt sig även Linköping som lokalarrangör. Luleå har till och från också varit lokalarrangör. Vi hoppas att kunna utöka antalet lokalarrangörer för att göra tävlingen mer tillgänglig för fler studenter i Sverige.

Tidigare SM-tävlingar
SM 2003
SM 2002
SM 2001
SM 2000
SM 1999
SM 1998
SM 1997
SM 1996

Länkar

ACMs International Collegiate Programming Contest
North Western European Regional Contest 2004, Lund, Sweden
Norgesmesterskapet i programmering

Dessa sidor underhålls av Fredrik Heintz och är senast uppdaterade 6 augusti 2004 kl 15:04:42 CEST.