WPI Worcester Polytechnic Institute

Computer Science Department

2014 WPI High School Programming Contest

The WPI Computer Science department hosted the ninth annual High School Programming contest on an snowy day at the end of a nearly interminable winter in Worcester, Massachusetts. A total of 136 students forming forty-six teams from twenty-three school districts registered for the event. The teams primarily came from school districts from central Massachusetts, although some teams made the trip to WPI from Connecticut, New Hampshire, and Montpelier Vermont.

The four-hour contest was held in four computing laboratories on campus (two in Kaven Hall, one in Salisbury Hall, and one in Fuller Laboratories) and the judging "Command Center" was in KH 116 where team advisors watched the contest unfold in real time as each student submission was judged by the contest judge. Each student team had a single computer on which to work, and so they had to manage their time (and typing ability!) efficiently to be able to place well in the contest. The problems tested the programming ability of the students in different areas, such as number theory, combinatoric problems, dice rolls and music theory. The contest was supported by an on-line submission system that allowed all participants to view the ongoing results of the competition in real-time. The problem set contained 10 problems of varying levels of difficulty, and students had to manage their time carefully as well as the number of their submissions; each failed submission received a small time penalty applicable towards the team score.

The final results of the contest appear in the following table:

Problems Solved Score Team
10 33712 Westborough High School (team.29)
10 49498 Phillips Academy Andover (team.38)
10 53350 Westford Academy (team.8)
10 74206 Phillips Exeter Academy (team.22)
9 65062 Framingham High School (team.30)
8 49676 Phillips Exeter Academy (team.34)
8 51528 Advanced Math and Science Academy (team.5)
8 53719 Tantasqua Regional High School (team.3)
7 52834 Westford Academy (team.19)
7 58465 Acton-Boxborough Regional High School (team.33)
7 62495 Winchester High School (team.20)
7 62646 Wayland High School (team.11)
7 68052 Phillips Academy Andover (team.48)
6 47353 Mass Academy (team.42)
6 50740 Nashoba Regional High School (team.4)
6 57598 Winchester High School (team.9)
6 58448 Milford High School (team.24)
6 58731 Advanced Math and Science Academy (team.17)
6 59729 Wayland High School (team.23)
5 26246 Algonquin Regional High (team.36)
5 41828 Acton-Boxborough Regional High School (team.44)
5 42026 Greater Hartford Aacdemy of Math and Science (team.45)
5 56560 Needham High School (team.1)
4 34211 Framingham High School (team.41)
4 39085 Academy of Aerospace and Engineering (team.12)
4 39228 Needham High School (team.15)
3 17697 U-32 High School (team.6)
3 19534 Marlborough High School (team.2)
3 21199 U-32 High School (team.28)
3 21409 Algonquin Regional High (team.46)
3 25577 Wellesley High School (team.10)
3 27034 Wellesley High School (team.21)
3 27531 Doherty Memorial High (team.32)
3 34031 Pioneer Charter School of Science (team.7)
2 17790 Westborough High School (team.51)
2 27460 Academy of Aerospace and Engineering (team.25)
1 1144 Worcester Technical High School (team.47)
1 12410 Tantasqua Regional High School (team.50)
1 2866 Doherty Memorial High (team.43)
1 3840 Nashoba Regional High School (team.27)
1 5142 Greater Hartford Academy of Math and Science (team.35)
1 6852 Pioneer Charter School of Science (team.18)
1 7037 Mass Academy (team.31)
1 7170 Milford High School (team.54)

The Computer Science department would like to thank Mark Freitas (a member of the CS department's advisory board) for underwriting the costs of the contest, which allowed all students to participate for free and enabled us to give the students and advisors a set of trophies and certificates to mark their attendance in the contest. We would like to thank the student volunteers who helped ensure a smooth running contest:

  • Hien Duong
  • Armend Hoxha
  • Samarth Mothakapally
  • Salman Saghafi
The contest director was Prof. George Heineman. The Academic Technology Center (ATC) ensured the laboratories ran smoothly and the Help Desk created the accounts for the contest. WPI NetOps helped set up the wireless guest accounts for the teacher coaches.

Contest Progress

All submissions were graded electronically using custom contest software developed by Prof. George Heineman at WPI. All students were assigned to their respective stations in the computer labs in Kaven Hall, Salisbury Labs and Fuller Labs. There were a number of teams that arrived late (because of the weather) and the contest began at 9:20AM.

Because of the scoring used for the contest, it is not sufficient to simply solve all problems first, one must compute the accumulated scores of the times it took to solve each individual problem. Because of this, positions on the “leader board” for the contest were up for grabs. The goal, as always, is to complete as many problems as early as possible.

The first submission was completed by team 29 (Westborough High school) after 581 seconds and they quickly set a fast pace that other teams found hard to meet. Behind team 29 two other teams were staking their claim to a trophy -- team 38 (Phillips Academy Andover) and team 8 (Westford Academy). While the teams never caught up to Westborough, they did not falter as the competition heated up.

By the end of the competition, four teams had solved all ten problems, a noteworthy accomplishment! In total forty-four teams solved at least one problem. There were a total of 211 successful problem submissions (from a total possible 396 submissions). The y-axis below shows the number of problems solved by each team, which appears as ever-increasing lines on the graph. The x-axis shows the progress of the contest in seconds.

Problem Set

The full descriptions of the problems is available. Here are the summaries.

Problem Number & Name DescriptionSample SolutionSolved by...

Classify That Year

A Numerologist would like you to write a program to detect special years based upon a computation using those digits.

[full description]

Q1.java 43

Separate Those Regions

You are given a two-dimensional rectangle formed from individual squares containing a letter A, B, C, or D. Write a program to determine whether all of these regions are contiguous.

[full description]

Q2.java 11

Cross Those Paths

A robot stands in a large open field. It receives a series of commands directing it to move North, East, South or West for a fixed number of integer units. At the end of the command sequence, you must compute the number of times the robot crosses its own path

[full description]

Q3.java 28

Expand That Number

Given an integer from 1 to 999,999,999 you are asked to state that value using English words.

[full description]

Q4.java 17

Reflect That Symmetry

Your task is to determine the symmetries that may exist in a matrix and output a summary of these symmetries alphabetically using the single letters H for horizontal, N for northeast diagonal, S for southeast diagonal, and V for vertical.

[full description]

Q5.java 14

Shoot That Target

A sharpshooter has set up N wooden targets in a straight line and shoots down every kth one, while sweeping back and forth. Describe the order in which she shoots the targets.

[full description]

Q6.java 11

Shift Those Letters

A child's toy has an arrangement of 25 letters in a 5x5 grid whose initial position is shown on the right. A player can rotate any of the five rows (R1-R5) or columns (C1-C5). Report on the final arrangement after a number of such rotations.

[full description]

Q7.java 27

Move Those Keys

For this problem, you are asked to transpose a given chord (up or down) a number of keys.

[full description]

Q8.java 27

Connect Those Checkers

After a number of moves in the game ConnectFour(TM) you are to determine whether the RED or BLACK player has won (of if the game is still in play).

[full description]

Q9.java 14

Roll Those Dice

You are given a set of five alphabetic dice in which each die has a capital letter on each of its six sides. When you roll these dice, five letters appear on their top faces; determine whether a given five letter word can ever occur from a specific set of dice.

[full description]

Q10.java 19


[Return to the WPI Homepage] [Return to the CS Homepage]

webmaster at cs wpi edu / 05 March 2013