Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CompetitiveprogrammingWikipedia,thefreeencyclopedia
Competitiveprogramming
FromWikipedia,thefreeencyclopedia
Competitiveprogrammingisamindsportusuallyheldoverthe
Internetoralocalnetwork,involvingparticipantstryingto
programaccordingtoprovidedspecifications.Competitive
programmingisrecognizedandsupportedbyseveral
multinationalsoftwareandInternetcompanies,suchasGoogle,
[1][2]Facebook[3]andIBM.[4]Thereareseveralorganizations
whohostprogrammingcompetitionsonaregularbasis.
Aprogrammingcompetitiongenerallyinvolvesthehost
presentingasetoflogicalormathematicalproblemstothe
contestants(whocanvaryinnumberfromtenstoseveral
thousands),andcontestantsarerequiredtowritecomputer
programscapableofsolvingeachproblem.Judgingisbased
mostlyuponnumberofproblemssolvedandtimespentfor
writingsuccessfulsolutions,butmayalsoincludeotherfactors
(qualityofoutputproduced,executiontime,programsizeetc.)
Openchampionshiponprogramming
Yandex.Algorithm,August22,2013.
Contents
1History
2Overview
3Notablecompetitions
3.1Shortterm
3.2Longterm
4Onlinecontestandtrainingresources
5References
6Externallinks
History
OneoftheoldestcontestsknownisACMICPCwhichoriginatedinthe1970s,andhasgrowntoinclude
88countriesinits2011edition.Interestincompetitiveprogramminghasgrownextensivelysince2000,
andisstronglyconnectedtothegrowthoftheInternet,whichfacilitatesholdinginternationalcontests
online,eliminatinggeographicalproblems.
Overview
Theaimofcompetitiveprogrammingistowritesourcecodeofcomputerprogramswhichareableto
solvegivenproblems.Avastmajorityofproblemsappearinginprogrammingcontestsaremathematical
orlogicalinnature.Typicalsuchtasksbelongtooneofthefollowingcategories:combinatorics,number
theory,graphtheory,geometry,stringanalysisanddatastructures.Problemsrelatedtoartificial
intelligencearealsopopularincertaincompetitions.
https://en.wikipedia.org/wiki/Competitive_programming
1/6
8/17/2015
CompetitiveprogrammingWikipedia,thefreeencyclopedia
Irrespectiveoftheproblemcategory,theprocessofsolvingaproblemcanbedividedintotwobroad
steps,constructinganefficientalgorithm,andimplementingthealgorithminasuitableprogramming
language(thesetofprogramminglanguagesallowedvariesfromcontesttocontest).Thesearethetwo
mostcommonlytestedskillsinprogrammingcompetitions.
Inmostcontests,thejudgingisdoneautomaticallybyhostmachines,commonlyknownasjudges.
Everysolutionsubmittedbyacontestantisrunonthejudgeagainstasetof(usuallysecret)testcases.
Normally,contestproblemshaveanallornonemarkingsystem,meaningthatasolutionis"Accepted"
onlyifitproducessatisfactoryresultsonalltestcasesrunbythejudge,andrejectedotherwise.
However,somecontestproblemsmayallowforpartialscoring,dependingonthenumberoftestcases
passed,thequalityoftheresults,orsomeotherspecifiedcriteria.Someothercontestsonlyrequirethat
thecontestantsubmittheoutputcorrespondingtogiveninputdata,inwhichcasethejudgeonlyhasto
analyzethesubmittedoutputdata.
Notablecompetitions
Therearetwotypesofcompetitionformats:shorttermandlongterm.Eachroundofshortterm
competitionlastsfrom1to3hours.Longtermcompetitionscanlastfromafewdaystoafewmonths.
Shortterm
ACMICPConeoftheoldestcompetitions,forstudentsofuniversitiesingroupsof3persons
each,sponsoredbyIBM
CodeChefCookOff[5]anACMICPCstyleprogrammingcontestheldonsecondlastSundayof
everymonth
CodeChefLunchTime[5]aJuniorProgrammingseriesheldonlastSundayofeverymonth,for
middle/highschoolstudents
CodeChefSnackDown[6]Anannualmultiroundglobalprogrammingcontesthostedby
CodeChef
Codeforces[7]holds45shortcontestseverymonth
FacebookHackerCupcompetitionheldfrom2011,providedandsponsoredbyFacebook
GoogleCodeJamcompetitionheldfrom2003,providedandsponsoredbyGoogle
HackerRankAdInfinitum[8]MathProgrammingContestbyHackerRank
HackerRankEpicCode[9]SummerCodeSprintonAlgorithmicChallengesbyHackerRank
IEEEXtremeProgrammingCompetitioncompetitionheldsince2006byIEEE
IOIoneoftheoldestcompetitions,forsecondaryschoolstudents
TopCoderAlgorithmOpencompetitionheldsince2004byTopCoder
Inmostoftheabovecompetitions,sincethenumberofcontestantsarequitelarge,competitionsare
usuallyorganizedinseveralrounds.Theyusuallyrequireonlineparticipationinallroundsexceptthe
last,whichrequireonsiteparticipation.AspecialexceptiontothisisIEEEXtreme,whichisayearly24
hourvirtualprogrammingcompetition.ThetopperformersatIOIandACMICPCreceivegold,silver
andbronzemedalswhileintheothercontests,cashprizesareawardedtothetopfinishers.Alsohitting
thetopplacesinthescoretablesofsuchcompetitionsmayattractinterestofrecruitersfromsoftware
andInternetcompanies.
Longterm
AlZimmermann'sProgrammingContests[10]
CodeChefLongChallenges[5]
https://en.wikipedia.org/wiki/Competitive_programming
2/6
8/17/2015
CompetitiveprogrammingWikipedia,thefreeencyclopedia
CodeEval[11]Supportsmultiplelanguages
CodinGame[12]
GoogleAIChallenge
HelloWorldOpen[13]competitionorganizedbyReaktorandSupercell
Kaggle
TopCoderMarathonmatches
Onlinecontestandtrainingresources
Theprogrammingcommunityaroundtheworldhascreatedandmaintainedseveralinternetresources
dedicatedtocompetitiveprogramming.Theyofferstandalonecontestswithorwithoutminorprizes.
Alsothepastarchivesofproblemsareapopularresourcefortrainingincompetitiveprogramming.
Theseinclude:
Alexa
Rank
Name
Description
Website
"MostInnovative"Competitive
Programmingwebsite.Itwasstarted
in2012,andoffersprogramming
problemsindifferentdomainsof
hackerrank.com
8779[14] HackerRank ComputerScience.Italsohosts
(http://hackerrank.com)
annualCodesprintswhichhelp
connectthecodersandSiliconValley
startups.
12967
[15]
13488
[16]
17823
[17]
17745
[18]
Bangalore,Indiabasedcompany
providingonlinecontestlike
HackerEarth environmentaimingatproviding
recruitmentassessmentsolutions.
www.hackerearth.com
(http://www.hackerearth.com)
CodeChef
MaintainedbyDirecti,ithostsa10
daylongcontestandacoupleof
shortcontestseverymonth(oneIOI
styledandotherACMICPCstyled),
andprovidesacontesthosting
platformtoeducationalinstitutions
forfree.Thetoptwowinnersofthe
longcontestwincashprizeswhile
thetop10globalgetateeshirt.
Kaggle
Kaggleisacommunityofdata
scientists.Theycompetewitheach
othertosolvecomplexdatascience
problems,andthetopcompetitorsare
www.kaggle.com
invitedtoworkonthemost
(http://www.kaggle.com)
interestingandsensitivebusiness
problemsfromsomeoftheworlds
biggestcompaniesthroughMasters
competitions.
LeetCodeOJisaplatformfor
LeetCode
preparingtechnicalcoding
OnlineJudge
interviews.
www.codechef.com
(http://www.codechef.com)
www.leetcode.com
(http://www.leetcode.com)
USresourceandcompany,which
https://en.wikipedia.org/wiki/Competitive_programming
3/6
8/17/2015
20802
[19]
22012
[20]
31767
[21]
34100
[22]
33717
CompetitiveprogrammingWikipedia,thefreeencyclopedia
TopCoder
USresourceandcompany,which
organizescontestsandalsoprovides
industrialproblemsasakindoffree
lancejobitoffersdozensofshort
contestsandseverallong
www.topcoder.com
("marathons")everyyear.Specific
featureparticipantshaveachanceto (http://www.topcoder.com)
checkcorrectnessofother
contestants'solutionsaftercoding
phaseandbeforefinalautomatic
testing(socalled"challengephase").
Codeforces
Russianresource,maintainedby
SaratovStateUniversity,which
mostlyprovidesfrequent(uptotwo
perweek)shortcontests.Special
codeforces.com(http://codeforces.com)
features:abilitytocheckcorrectness
ofothercontestants'solutionsduring
"codingphase",virtualcontests,
trainingsetc.
Competitive organizationthatpromotestrainings
acm.javeriana.edu.co/maratones
Programming incompetitiveprogrammingthrough
(http://acm.javeriana.edu.co/maratones)
Network
periodicprogrammingcontests.
Largecollectionofcomputational
mathproblems(i.e.notdirectly
ProjectEuler relatedtoprogrammingbutoften
requiringprogrammingskillsfor
solving).
Polishonlinejudgesystemwhich
providesalotofproblemsfor
training,andprovidesaplatformfor
otherorganizerstohosttheir
programmingcontests.
projecteuler.net(http://projecteuler.net)
[23]
SPOJ
61387
Codility
codility.com/programmers/
(http://codility.com/programmers/)
73803
CodingBat
codingbat.com(http://codingbat.com/)
85017
Spanishresource,maintainedby
UniversityofInformationScience.
Caribbean
Containsover3,000problemsfor
OnlineJudge
practicing.Alsohostsregularonline
competitions.
coj.uci.cu(http://coj.uci.cu)
94538
CodinGame
CodinGameisanonlinegaming
platformthatprovidessoloand
multiplayergamesforprogrammers
andalsohostsmonthlyinternational
onlinecodingcontests.
120945
Programmr
UVaOnline
125102
Judge
www.spoj.com(http://www.spoj.com)
www.codingame.com
(http://www.codingame.com)
www.programmr.com
(http://www.programmr.com/)
Containsover3,500problemsfor
practicing.Hostsregularonline
competitions.
https://en.wikipedia.org/wiki/Competitive_programming
uva.onlinejudge.org
(http://uva.onlinejudge.org)
4/6
8/17/2015
CompetitiveprogrammingWikipedia,thefreeencyclopedia
competitions.
CheckiO
AwebsitewhichprovidesPython
basedprogrammingchallengesina
gamelikeenvironment.
167190
Coderbyte
Websitethatprovidesprogramming
challengesthatyoucansolvein
severallanguagesinanonlineeditor coderbyte.com(http://coderbyte.com)
(70+exercisesand3contestsasof
August2014).
169060
CodeEval
www.codeeval.com
(https://www.codeeval.com/)
180197
AizuOnline
Judge
judge.uaizu.ac.jp/onlinejudge/
(http://judge.uaizu.ac.jp/onlinejudge/)
248555
Peking
Chinesewebsitewithabout3000
University
programmingpuzzlesinEnglish.
OnlineJudge
poj.org(http://poj.org)
267538
Russianwebsitewithmorethana
thousandproblemsinRussianand
OnlineJudge English,maintainedbyUralState
University,whichmostlyprovides
~10contestsperyear.
acm.timus.ru(http://acm.timus.ru)
148075
448658
476270
www.checkio.org
(http://www.checkio.org)
CodeAbbey
collectionofover160beginnerlevel
problemsandexercisesforpracticing
www.codeabbey.com
programming(awarding
(http://www.codeabbey.com)
"certificates"forsolving125of
them)
LightOJ
LightOnlineJudgeaBangladeshi
websitecontaininghundredsof
categorizedproblemsforpractice.
Userscanalsohosttheirown
contestsbyuploadingdatasetor
selectingproblemsfromLightOJ.
lightoj.com(http://lightoj.com)
References
1. "GoogleCodeJam"(http://code.google.com/codejam).google.com.
2. "TCO12Sponsor:GoogleTCO12"(http://community.topcoder.com/tco12/overviewsponsor/tco12
sponsorgoogle/).topcoder.com.
3. "FacebookHackerCup"(http://www.facebook.com/hackercup).Facebook.
4. ACMInternationalCollegiateProgrammingContestWorldFinalsSponsoredbyIBM
(http://www.ibm.com/developerworks/university/students/contests/acm/index.html)
5. "COMPETECodeChef"(http://www.codechef.com/contests).codechef.com.
6. "SnackdownHomeCodeChef"(http://snackdown.codechef.com).codechef.com.
7. "Codeforces"(http://codeforces.com/).Codeforces.
8. "ProgrammingproblemsandCompetitions::HackerRank"(https://www.hackerrank.com/infinitum).
HackerRank.
9. "ProgrammingproblemsandCompetitions::HackerRank"(http://www.hackerrank.com/epiccode).
HackerRank.
10. http://www.azspcs.com/
11. "CodeEvalCodingChallengesfortheWorld'sBestDevelopers"(https://www.codeeval.com).codeeval.com.
12. "Programmingisfun"(http://www.codingame.com/).CodinGame.
https://en.wikipedia.org/wiki/Competitive_programming
5/6
8/17/2015
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
CompetitiveprogrammingWikipedia,thefreeencyclopedia
"HelloWorldOpen"(http://helloworldopen.com).helloworldopen.com.
"hackerrank.comSiteOverview"(http://www.alexa.com/siteinfo/hackerrank.com).alexa.com.
"hackerearth.comSiteOverview"(http://www.alexa.com/siteinfo/hackerearth.com).alexa.com.
"codechef.comSiteOverview"(http://www.alexa.com/siteinfo/codechef.com).alexa.com.
"kaggle.comSiteOverview"(http://www.alexa.com/siteinfo/kaggle.com).alexa.com.
"leetcode.comSiteOverview"(http://www.alexa.com/siteinfo/leetcode.com).alexa.com.
"topcoder.comSiteOverview"(http://www.alexa.com/siteinfo/topcoder.com).alexa.com.
"codeforces.comSiteOverview"(http://www.alexa.com/siteinfo/codeforces.com).alexa.com.
"javeriana.edu.coSiteOverview"(http://www.alexa.com/siteinfo/javeriana.edu.co).alexa.com.
"projecteuler.netSiteOverview"(http://www.alexa.com/siteinfo/projecteuler.net).alexa.com.
"spoj.comSiteOverview"(http://www.alexa.com/siteinfo/spoj.com).alexa.com.
Externallinks
Opensourceprojectforrunningcontests
ContestManagementSystem(https://github.com/cmsdev/cms)OpensourcetoolinPythontorun
andmanageaprogrammingcontestonaserverIOI2012andIOI2013.
Retrievedfrom"https://en.wikipedia.org/w/index.php?
title=Competitive_programming&oldid=676427071"
Categories: Programmingcontests
Thispagewaslastmodifiedon16August2015,at22:47.
TextisavailableundertheCreativeCommonsAttributionShareAlikeLicenseadditionalterms
mayapply.Byusingthissite,youagreetotheTermsofUseandPrivacyPolicy.Wikipediaisa
registeredtrademarkoftheWikimediaFoundation,Inc.,anonprofitorganization.
https://en.wikipedia.org/wiki/Competitive_programming
6/6