logo

    Congratulations TCO04 Algorithhm Champion, jonmac

    algo winner

    About the Algorithm Competition

    Once again, 24 of the world’s best coders will be invited to compete live at the onsite finals in Santa Clara, CA, USA.

    Registration
    STARTS: Monday, August 9 at 9:00 AM ET
    ENDS: Tuesday, September 7 at 9:00 AM ET

    Qualification Round
    STARTS: Tuesday, September 7 at 12:00 PM ET (noon)
    ENDS: Wednesday, September 8 at 12:00 PM ET (noon)

    Elimination Rounds
    September 11
    September 14
    September 22
    September 29

    Onsite Finals
    November 11 & 12 at the Santa Clara Marriott in Santa Clara, CA, USA

    Free Competition
    Open to all registered TopCoder members over the age of 18.
    See the official rules and regulations for more details.

    Rules

    Overview of the Tournament

    No purchase necessary to enter or win. The tournament is void where prohibited.

    The 2004 TopCoder Open (“TCO”) Algorithm Competition will take place between September7th and November 12th, 2004. It will consist of one (1) online qualification round,four (4) online elimination rounds and two (2) onsite final rounds, being the Semifinaland Championship rounds. The prize purse for this competition is $50,000 in cash.Up to 50 competitors will win a cash prize and for competing in Online Round #1,up to 500 competitors will receive a participatory prize. The top 24 finishers in the online roundswill advance to the onsite Semifinal and Championship rounds, being held at the SantaClara Marriott in Santa Clara, California, USA on November 11th and 12th.

    Eligibility

    TopCoder members who are at least 18 years of age as of September 7, 2004 are eligible to compete in the Algorithm Competition.

    TopCoder members who are 18 years of age or older are eligible to win cash prizes, unless otherwise prohibited.The 2004 TopCoder Open is void in the Quebec province of Canada, and elsewhere where prohibited by applicable law. Cashprizes will not be paid to residents of Cuba, Iran, Iraq, Libya, North Korea, Sudan, or Syria.

    Employees of TopCoder, Inc. and Microsoft, Inc. and those involved in the production (including prize suppliers), implementation anddistribution of this tournament and their advertising or promotion agencies, parent companies, service providers,agents, officers, subsidiaries or affiliates, or any other persons or entities directly associated with thetournament and members of the immediate families and/or persons living in the same household as such persons,are ineligible to enter the tournament.

    Registration

    Registration for the 2004 TopCoder Open Algorithm Competition will open at 9:00AM ET on Monday, August 9, 2004,and will close at 9:00AM ET on Tuesday, September 7, 2004. In order to be eligible to compete in the AlgorithmCompetition, competitors must be a registered TopCoder member and have registered separately for the AlgorithmCompetition. Registration for the competition is unlimited, however each individual may only register once.

    Qualification Round

    12:00PM ET TUESDAY, SEPTEMBER 7 - 12:00PM ET WEDNESDAY, SEPTEMBER 8

    The Qualification Round will be open for 24 hours from 12:00PM ET Tuesday, September 7 through12:00PM ET Wednesday, September 8, 2004. Each competitor may participate in the QualificationRound at any time during the 24 hours. Competitors may only attempt to qualify one time during the 24 hours.

    The Qualification Round will consist of two phases: the Coding Phase and the System Test Phase.The Qualification Round will not include a Challenge Phase.

    • The Qualification Round Coding Phase is a timed event where contestants are presented with one offive possible problem sets. Each problem set contains two questions representing two levels of complexity and, accordingly,two levels of point earnings potential. Points for a question are awarded upon submission of any solution that successfullycompiles and are calculated based on the total time elapsed from the time the question was opened to the time it was submitted.Competitors will have 60 minutes to complete either or both of the problems. The 60 minutes will begin to elapse once thefirst problem is opened. The timer in the coding window will count down to the end of the 60 minutes. A competitor who beginsthe qualification attempt within the final 60 minutes of the Qualification Round will have less than 60 minutes to attemptqualification.
    • The Qualification Round System Testing Phase is applied to all submitted code at the conclusion ofthe Qualification Round. If the TopCoder System Test finds code that is flawed, the author of that code submission will loseall of the points that were originally earned for that code submission. The automated tester will apply a set of inputs,expecting the output from the code submission to be correct. If the output from a coder’s submission does not match theexpected output, the submission is considered flawed. The same set of input/output test cases will be applied to all codesubmissions for a given question.

    Upon logging in to the TopCoder Arena during the Qualification Round, each competitor who has registered for the AlgorithmCompetition will receive a message indicating which set of problems he/she has been assigned. The highest 100 scorers fromeach of the five problem sets presented during the Qualification Round will be eligible to compete in Online Round #1 of theAlgorithm Competition. A maximum of 500 competitors will advance. Members will be rated at the conclusion of the QualificationRound based on their performance against other competitors with the same problem set. All qualifiers will be assigned tournamentseeds based on their Algorithm rating following the Qualification Round.

    About the Tournament

    Online Elimination Rounds
    Everyone who competes in an online round must login to the TopCoder Competition Arena no later thanten (10) minutes prior to the start of the online round. (See the schedule for competition dates and times.)TopCoder members from around the world may be participating in these online rounds, but all start times will becommunicated as Eastern Time, so contestants in different time zones must adjust accordingly. If a coder doesnot participate, for any reason, in an online round he/she has advanced to, it will be treated as an automaticloss in that round of competition.

    All competitors who have qualified for an online round will be assigned to a specific room. TopCoder will determineall room assignments prior to the start of each online round in a manner such that the average competitor rating(following the Qualification Round) for each room will be similar. The dates and times of the online rounds of competitionare as follows:

    Round of CompetitionDate and Time * (all Eastern Time)
    Online Round #1Saturday, September 11th
    Registration: 9:00 AM - 11:55 AM ET
    START: 12:00 PM (Noon)
    Online Round #2Tuesday, September 14th
    Registration: 6:30 PM - 9:25 PM ET
    START: 9:30 PM
    Online Round #3Wednesday, September 22nd
    Registration: 6:30 PM - 9:25 PM ET
    START: 9:30 PM
    Online Round #4Wednesday, September 29th
    Registration: 6:30 PM - 9:25 PM ET
    START: 9:30 PM
    *NOTE: In the event that a round must be cancelled for any reason, the “raindate” for the cancelled match will be the following day at the same time.

    Scoring and Advancing during Online Rounds
    After each round of competition, the winners from each of the assigned rooms will be identifiedand will advance to the next online round. Coder advancement in all rounds is determined by comparingthe total point values from all three phases of the round (see Competition Round Structure) for each coder.In order to advance, a coder must finish each round with a positive (i.e., greater-than-zero) point total.The structure of the online rounds is as follows:

    • Online Round #1
      Up to 500 coders will compete and up to 200 will advance. The winner of each of the 50 rooms willautomatically advance to Online Round #2. The remaining 150 spots will be “wildcards”, and will beawarded based on total points across all rooms. (In the event there are less than 50 room winnersin Round #1, the total number of wildcard spots will be equal to 200 minus the actual number of room winners.)
    • Online Round #2
      Up to 200 coders will compete and up to 100 will advance. The winner of each of the 20 rooms will automaticallyadvance to Online Round #3. The remaining 80 spots will be wildcards and will be awarded based on total pointsacross all rooms. (In the event there are less than 20 room winners in Round #2, the total number of wildcard spotswill be equal to 100 minus the actual number of room winners.)
    • Online Round #3
      Up to 100 coders will compete and up to 50 will advance. The winner of each of the 10 rooms will automaticallyadvance to Online Round #4. The remaining 40 spots will be wildcards and will be awarded based on total pointsacross all rooms. (In the event there are less than 10 room winners in Round #3, the total number of wildcardspots will be equal to 50 minus the actual number of room winners.)
    • Online Round #4
      Up to 50 coders will compete and up to 24 will advance. The winner of each of the 5 rooms will automatically advanceto the field of Semifinalists. The remaining 19 spots will be wildcards and will be awarded based on total pointsacross all rooms. (In the event there are less than 5 room winners in Round #4, the total number of wildcard spotswill be equal to 24 minus the actual number of room winners.)

    NOTE: In the event of a tie for any advancing position (i.e., room winner or wildcard spot), the tie will be resolved in the following manner:

    • Total points acquired (higher is better) during the rounds of the tournament in which all of the tied participants were presented with the same set of problems (excluding the Qualification Round).
    • If a tie still remains, then by rating (higher is better) following the Qualification Round.
    • If a tie still remains, all tied coders will advance to the next round.

    Competition Round Structure
    With the exception of the Qualification Round, each online and onsite round of competition consists of three phases:the Coding Phase, Challenge Phase, and System Testing Phase. (Note: the format of these competition rounds is similarto the format of the Single Round Matches.)

    • The Coding Phase is a timed event where all contestants are presented with the same three questions representingthree levels of complexity and, accordingly, three levels of point earnings potential. Points for a problem are awardedupon submission of any solution that successfully compiles and are calculated on the total time elapsed from the timethe problem was opened until the time it was submitted.
    • The Challenge Phase is a timed event wherein each competitor has a chance to challenge the functionality of othercompetitors’ code. A successful challenge will result in a loss of the original problem submission points by thedefendant, and a 50-point reward for the challenger. Unsuccessful challengers will incur a point reduction of 50points as a penalty, applied against their total score in that round of competition.
    • The System Testing Phase is applied to all submitted code that has not already been successfully challenged.If the TopCoder System Test finds code that is flawed, the author of that code submission will lose all of thepoints that were originally earned for that code submission. The automated tester will apply a set of inputs,expecting the output from the code submission to be correct. If the output from a coder’s submission does notmatch the expected output, the submission is considered flawed. The same set of input/output test cases will beapplied to all code submissions for a given problem. All successful challenges from the Challenge Phase will beadded to the sets of inputs for the System Testing Phase.

    Onsite Semifinal and Championship Rounds
    The twenty-four (24) advancers from Online Round #4 will travel to the Santa Clara Marriott on Wednesday,November 10th to compete in the Semifinal round of the tournament being held on Thursday, November 11th.All contestants must arrive at the Santa Clara Marriott no later than 4:00 PM PT on Wednesday, November 10th.If a contestant is unable to attend the onsite rounds, he/she will forfeit his/her eligibility to receive a prize,and his/her spot in the tournament will be given to the next highest overall scorer from Online Round #4.

    TopCoder will provide travel arrangements for each competitor, up to a cost of $1,000 per person. (That is, if a contestant’sairfare is greater than $1,000, the contestant will be responsible for the difference between the cost of the airfare and $1,000.)TopCoder will provide ground transportation to and from the airport, as well as accommodations and certain meals for each contestant.All other expenses are the responsibility of the contestant. TopCoder will not provide travel or lodging accommodations for competitorguests at the 2004 TopCoder Open.

    TopCoder will determine the room assignments for the Semifinal rooms prior to the start of each Semifinal round, in a manner suchthat the average competitor rating (following the Qualification Round) for each room will be similar. The dates and times of theonsite Semifinal and Championship rounds are as follows:

    Round of CompetitionDate and Time (all Pacific Time)
    Semifinal Room #1Thursday, November 11th, 10:00 AM**
    Semifinal Room #2Thursday, November 11th, 1:00 PM**
    Semifinal Room #3Thursday, November 11th, 4:00 PM**
    Wildcard RoundFriday, November 12th, 10:00 AM**
    Championship RoundFriday, November 12th, 3:00 PM**
    ** Times subject to change.

    The Semifinal Round will consist of three (3) rooms of eight (8) coders each.
    The winner in each room will advance to the Championship Round. The 2nd and 3rd place finishers in each room willparticipate in one (1) Wildcard Round. The winner of the Wildcard Round will also advance to the Championship Round.In the event of a tie in the Semifinal or Wildcard rounds, the tie will be resolved in the following manner (in order):

    • Total points acquired (higher is better) during Online Rounds #1, #2, #3 and #4 of the 2004 TopCoder Open Algorithm Competition.
    • If a tie still remains, then by rating (higher is better) following the Qualification Round.
    • If a tie still remains, then all tied coders will advance to the Championship Round.

    The Championship Round will be a single round of four (4) coders. First, second,
    third and fourth place in the Championship Round are determined by comparing the total points of each coder, with thehighest point value placing first. The winner of the Championship Round will be the coder with the highest point totalfor the round. In the event of a tie in the Semifinal and/or Championship rounds, the tie will be resolved in thefollowing manner (in order):

    • Advancement path to Championship Round (Semifinal Round winner over Wildcard Round winner)
    • If a tie still remains, then by total points acquired (higher is better) during Online Rounds #1, #2, #3 and #4 of the 2004 TopCoder Open Algorithm Competition.
    • If a tie still remains, then the prize money will be distributed equally among the tied coders.

    About the Prizes

    The tournament will award prizes to up to 500 competitors and $50,000 in cash prizes. Any and all applicable taxes on prizes are the sole responsibility of the prizewinner. Prizes will be distributed as follows:

    Competitor(s)Prize
    1st place finisher* in the Championship Round - Algorithm Competition Champion$20,000
    2nd place finisher* in the Championship Round$10,000
    3rd place finisher* in the Championship Round$5,000
    4th place finisher* in the Championship Round$2,500
    Twenty (20) non-finalists* in the Semifinal Rounds$500 each
    Up to fifty (50) participants who compete in Online Round #4$50 each
    Up to 500 participants who compete in Online Round #1 Limited edition 2004 TopCoder Open t-shirt
    * Prize will be awarded at the conclusion of the Championship Round. Winner must be present at the onsite rounds to receive prize.

    Conditions of Participation

    By participating in the tournament, you agree to be bound by these rules and to all decisions of TopCoder,which are final, binding and conclusive in all matters. Also, by participating in this tournament, you consentto providing certain information to Microsoft for recruiting purposes. Such information shall include theinformation contained in your TopCoder member profile and your competition statistics.

    Contestants must not cheat. All ideas for any code and/or challenge submitted must be the contestant’s alone.

    Winners in each round of competition will be those competitors who win the most points in their respective rooms.All decisions relating to the viability of submissions, the ranking of submissions and all other matters pertaining to thetournament shall be within the sole discretion of TopCoder or its designee and shall be final and binding in all respects.

    Prizewinners will be notified via email within 10 days of the completion of the Online Round #1 that they have won a prize.Contestants who advance to Online Round #4 must complete the following documents online or return them to TopCoder by 9:00 PM ETon Wednesday, September 29, 2004:

    • Competitor questionnaire - the questions and responses will be published in the 2004 Topcoder Open Program
    • Affidavit of Eligibility and Liability and Publicity Release (must be notarized unless you already have a notarized affidavit on file with TopCoder)
    • Applicable tax form (unless your tax form is already on file with TopCoder)

    Contestants who advance to the onsite Semifinal Round must also complete the following document and return it to TopCoder by Monday, October 18, 2004:

    • Travel form - provides Topcoder with the appropriate information needed for your travel to the onsite Semifinal Round

    Prizes will be presented within 60 days of making an eligibility determination. Unclaimed or undeliverable prizes will not be awarded. Competitors who do not submit the required information listed above by the applicable deadlines will forfeit their prizes.

    As a condition of participation in the tournament, all information provided by you in your Topcoder member profile must be comprehensive, accurate and up-to-date. Topcoder may require you to complete an additional registration form to register for the tournament. In order to be eligible to participate in the tournament, you must have completed any and all registration forms required by TopCoder.

    As a condition of winning and redeeming a cash prize, winners will be required to return by Wednesday, September 29, 2004 a completed (i) competitor questionnaire, (ii) notarized Affidavit of Eligibility and Liability and Publicity Release, and (iii) IRS Form W-9 or W-8BEN, as appropriate, if one is not already on file with TopCoder; and by Monday, October 18, 2004 a completed travel form. In completing the Affidavit of Eligibility and Liability and Publicity Release, a winner (a) confirms his/her eligibility, (b) represents and warrants that he/she has not cheated; that the idea for the code and/or challenge submitted is his/hers alone, © verifies the accuracy of the demographic information submitted to, and contained in, the TopCoder member database, (d) authorizes TopCoder to publicize the tournament’s results, (e) agrees to sign any applicable forms required by tax authorities, (f) licenses to TopCoder rights to all information submitted during the tournament (including rights to source code and other executables), and (g) releases TopCoder from liability arising out of any prize won. TopCoder requires contestants to complete the Form W-9 or W-8BEN for tax reporting purposes. If prize notification is returned as undeliverable, or if the winner fails to return the Affidavit, or the W-9 or W-8BEN, as specified, the winner will be disqualified and the prize money won by the disqualified winner will be forfeited. Providing false information in the registration process or in the required forms described in this paragraph will disqualify a winner.

    By participating in a tournament and redeeming a prize, a winner releases and agrees to hold harmless TopCoder, its affiliates, subsidiaries, advertising and promotion agencies, sponsors, and prize suppliers, and all of their respective directors, officers, employees, representatives and agents, from and against any and all liability for any loss, property damage or damage to person, including without limitation, death and injury, due in whole or in part, directly or indirectly, from or arising out of participation in this tournament, or participation in any tournament-related activity, or the receipt, use or misuse of a prize. TopCoder specifically disclaims all liability associated with, and makes no warranties with regard to, any prize given.

    In addition, all prizewinners agree to cooperate with TopCoder’s publicity efforts, without further compensation. This includes the agreement to use their name, handle, address (city and state) and likeness for publicity purposes, where legal,for this or similar future tournaments, and to use the statements made by, or attributed to, the winners relating to TopCoderand any and all rights to said use, without further compensation. Furthermore, all prizewinners agree to promptly notifyTopCoder if a non-sponsor third-party contacts the prizewinner regarding employment opportunities and/or media interest as a result ofthe prizewinner’s participation in the tournament.

    TopCoder reserves the right, in its sole discretion, to revoke any and all privileges associated with competing in this tournament, and to take any other action it deems appropriate, for no reason or any reason whatsoever, including if TopCoder suspects competitors of cheating, tampering with the entry process, the operation of the Web site, or the tournament process, or otherwise being in violation of the rules. TopCoder reserves the right to cancel, terminate or modify the tournament if it is not capable of completion as planned for any reason, including infection by computer virus, bugs, tampering, unauthorized intervention or technical failures of any sort.

    Other
    The tournament is void in whole or in part where prohibited by law.

    A list of tournament winners by coder handles will be available on the web site at http://www.topcoder.com/, and will be displayed for at least 3 months after the end of the tournament.

    Any appeals regarding the validity of the results of the online rounds of competition must be received by TopCoder at the service@topcoder.com email address no later than 11:00AM ET on the day following the date on which the round of competition was held. The results of the online rounds of competition will be considered by TopCoder to be final at11:00AM ET on the second day following the round of competition. For the onsite rounds of competition, competitors mayappeal the results within five (5) minutes following the announcements of the results.

    This tournament is brought to you by TopCoder, Inc. (http://www.topcoder.com/) 703 Hebron Avenue (now 95 Glastonbury Blvd), Glastonbury, CT 06033.