2019 ICPC North America Qualifier

The NAQ is an online, pre-regional programming contest to help coaches choose teams for regional competitions (or serve as practice).

The ICPC North America Qualifier is an online-only programming contest, scheduled to precede all ICPC North America regional contests. If you are a coach, you can use it in place of a local competition to help you determine teams for your regional ICPC contest. Or you can use it as extra practice. Please note: the North America Qualifier does not automatically qualify (or promote) any team to a regional competition.

The 2019 ICPC North America Qualifier will be on October 5, 2019, at 13:00 - 18:00 (CDT). It is an online contest, held on Kattis.

Coaches, please register your teams on the Baylor ICPC registration site. At registration close, we will take this data and use it to create the teams on Kattis. Note that you must register for this contest to participate; registering for a regional does not register for this contest, or vice-versa.

Make sure you register your team for the contest titled "North America Qualifier". (There are other contests with the word "Qualifier" in the name, so be careful.) After registration is closed, due to the number of teams and the limited support, it will be impossible to accommodate new registrations or changes to existing registrations. So please register early.

There is one contest, with 12 "sites". The 12 sites correspond to the 11 regions of North America, plus one extra site for contestants who are not eligible to compete in ICPC in North America (e.g., high school students or people whose school is not in an ICPC North America region).

Please register for the site that corresponds to your region. Here are direct links for each region (using these is likely the simplest route to registration):

East Central NA Site Greater NY Site Mid-Atlantic USA Site
Mid-Central USA Site North Central NA Site Northeast North America Site
Pacific Northwest Site Rocky Mountain Site South Central USA Site
Southeast USA Site Southern California Site ICPC Ineligible Site (e.g. for contestants not enrolled at a NA university, etc.)

Coaches may register as many teams as they like (each team can have anywhere from 1 to 10 competitors — that's up to you). If you are in doubt about how many you may need, register more up front (as it will be impossible to add teams after registration freezes). But please try to be somewhat realistic for our planning purposes.

Coaches can create empty teams as placeholders but should fill them with the actual students that will compete before registration is closed. "Empty" teams will not get competition login credentials.

If you're writing or reviewing problems for the NAQ, this information is for you. You can disregard this if you are a contestant.

The schedule for problem development is as follows (but is subject to change):

We are using the Kattis Problem format for developing problems. This is the format used for the ICPC world finals. It provides a structure for problem writeups, test data, solutions, and configuration. It automates problem verification (for solutions and anti-solutions), time limit determination, and finally installation. There are two parts: the problem format and the problem tools.

Kattis problem format

Here is some information on the Kattis problem format:

Kattis problem tools

After you're done writing your problem, you can use the Kattis problemtools software on a Linux machine to verify the problem (using "verifyproblem") or to compile a PDF or HTML version of your problem statement (using problem2pdf or problem2html, respectively).

The program "verifyproblem" does the following:

We will also use this in automated testing for problem changes. Along with verifyproblem, there is also "problem2pdf" and "problem2html", which render the problem description to those formats.

You can get the Kattis problemtools from the Kattis problemtools github repository. There are basically two ways of installing the software: using a Docker image, or building a Debian package and installing it (e.g. on a Ubuntu Linux system). If you are not using a Debian-based system, the Docker image is the easiest way to go.

Further problem-writing tips

If you have questions, first please consult the FAQ on this page.

If after that you still have questions, please contact Greg Hamerly.