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).

Congratulations to all the teams that participated!

Statistics on the official contest:

Many thanks!

Here's some late-breaking information. More recent information is at the top.

  1. Friday, October 4 2019: All systems are go! We are ready for the contest.
  2. As of Wednesday morning (2019-10-02), we have imported the current ICPC registration data to create Kattis accounts for those who did not have one. If you were registered as an NAQ 2019 contestant in the ICPC system, you belong now to one of three groups:
    1. You did not have a Kattis account previously associated with the email address used for ICPC registration. In that case, you should have gotten an email from Kattis with the new account. Use that for the contest (even if you have other Kattis credentials).
    2. Same as above, but for some reason (e.g. spam filter) you did not get email from Kattis with the new account. In this case, you need to get your password. Keep reading.
    3. You previously had a Kattis account with the email you used to register for the contest, and therefore did not get an email about any new account — because you should use that existing account. However, you may have lost/forgotten your password. Keep reading.
    If you need your password for any reason, even if you don't know your Kattis username, you can get it by requesting a password reset here. Make sure to use the email address used to register for this contest.

    If you are a coach with an "empty team" please add any contestants you need by the end of day today (2019-10-02). We will do a final import of the registration data after that.

  3. Please be advised that the NAQ is probably NOT going to support Python 2 this year, which is a very recent change. This is to keep in line with the ICPC World Finals rules, which recently changed. Python 3 will still be available, though note that Python 3 is sometimes signficantly slower (on Kattis) than Python 2, because of different interpreters.
  4. The official NAQ contest is at https://naq19.kattis.com/ -- that is where officially registered contestants should participate on contest day.
  5. If you need immediate help before or during the contest (e.g. you cannot login), we have a Google Hangout for support for the 2019 ICPC NAQ. Please only use this if needed for Kattis login problems, after verifying that you are using the correct credentials and are at the correct site. This is not for problem discussion or problem clarification questions.
  6. Additions and modifications to already-registered teams (on https://icpc.baylor.edu/) must be done by the end of 2019/10/02. After that day, no exceptions, no modifications. (We don't have the manpower to deal with changes at that point; we are preparing for the contest.)
  7. Sometime either on 2019/10/02 or 2019/10/03 we will use the ICPC registration data to create Kattis accounts for contestants who need them. The way this works is:
    • We look up each contestant by the email used for ICPC registration in Kattis.
    • If there is no such person known (by email) to Kattis, then we will create a new Kattis account and send a mail to that email address with the new account information.
    • If the person is known to Kattis, then we do not create a new account, and that person does not receive an email.
  8. IMPORTANT: Note that if a person has an existing Kattis account, but it is not affiliated with the email address used for ICPC registration, they would end up with multiple accounts. They should only use the Kattis account that is affiliated with the ICPC registration (email address) for this contest. We have had many contestants who could not participate in past NAQ contests because they did not realize that they were logged in with an account that is not part of the contest. Also note, if a team has multiple contestants, any one may login to participate.
  9. There will additionally be a parallel (slightly delayed) Open Division contest with the same problems running at https://open.kattis.com/contests/naq19open This is a good place to send people who want to compete but are not registered (we will not add late entrants to the official contest). But people who participate in the Open Division will not show up on the official scoreboards, so only send non-official participants there. In particular, please do NOT send officially-registered contestants to the open division.

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.