These rules and the chosen format may change depending on the measures for the COVID-19 pandemic.
- BAPC: The Benelux Algorithm Programming Contest 2021. Hosted by the Vrije Universiteit Amsterdam.
- Organization: The members of the organizing committee.
- Website: The website, maintained by the organization and available at 2021.bapc.eu.
- Slack: The BAPC Slack workspace mentioned in Contact.
- Jury: The group responsible for creating the problem set and checking the solutions submitted by the participants.
- Technical staff: The group of people responsible for the system (the digital environment, jury system, printing, etc.).
- Runners: Volunteers responsible for delivering print-outs, answering questions and other tasks supervised by the organization.
- Crew: Organization, Jury, Technical staff and Runners.
- Participant: Member of a participating team that competes in the BAPC.
- Institution: A university or university of applied sciences in Belgium, Luxembourg, or The Netherlands.
Each institution is permitted to send two teams by default. An institution can earn additional team slots under the following conditions:
- The institution’s preliminaries consist of at least 30% female participants. In the case where a genuine attempt is made, but the ratio is not achieved, the institution may provide details of their attempt for the BAPC committee to review.
- One slot awarded
- The institution proposes compelling ideas for promoting diversity at the BAPC.
- The BAPC organizing committee determines the number of slots on a per-institution basis
- The deadline for proposing ideas is one week before the BAPC coach meeting
- One slot awarded
Discrimination of any kind will not be tolerated during the contest, and may be grounds for disqualification at the discretion of the Contest Director.
- Participation should be done in teams of 3 persons.
- Teams are classified as either a student team or a company team.
- The organization can decide to change classifications before the start of the contest.
- Changing the composition of a team is possible after approval by the organization.
- Changing the composition should be done before the start of the contest.
- The substitutions should be registered as a reserve. Substitutions can be a reserve for all teams.
- The organization decides the number of teams allowed for each competing institution.
- The responsibility for listing which of its teams (and reserves) should be considered for participation at the BAPC lies within their respective institution.
- The organization has the right to deny the participation of teams before the start of the contest.
A student team:
- Participates for free.
- Consists of students from the same institution that are not members of another team. The institution must be located in either Belgium, Luxembourg or The Netherlands.
- Has a coach, which is the contact person of a team. This should be a student or faculty member of the institution.
- Participates in the student teams pool for the title “Winner of the Benelux Algorithm Programming Contest 2021”.
- Consists of students who are eligible for the North Western European Programming Contest 2021.
A business team:
- Consists up to 3 persons who are employed by the same company or institution.
- Participates in the business teams pool for the title “Winner of the Benelux Algorithm Programming Contest 2021”.
Photos and videos
There may be a public livestream of the award ceremony available on the website. The recording will be made publicly available afterwards. If you do not want to appear on this livestream, or want to be removed from the footage afterwards, please contact the organization. The organization can decide to deny this request.
- The language of the contest is English. All written contest materials will be in English.
- The contest lasts for 5 hours.
- From the beginning until one hour before the end of the BAPC, the scores are displayed.
- At least six problems will be posed. The jury intends to develop problems with minimal dependence on detailed knowledge of a particular application area or a particular contest language.
- A contestant may submit a claim of ambiguity or error for a problem statement by submitting a clarification request to a judge. If the judges agree that an ambiguity or error exists, a clarification will be issued to all contestants.
- The jury has the right to change or withdraw problems during the contest before informing all teams.
- A solution for a problem has to be written in C99, C++ (version 14 or later will be available), Python (versions 3 will be available), Java (version 11 or later) or Kotlin (version 1.3), unless the problem statement explicitly states otherwise. Business teams can request other submission languages, on which the organization will decide whether it will be made available for submission. This is subject to change
- A team is disqualified if they submit harmful code that disrupts the contest.
- A submission can use the standard library of the language.
- A list of usable libraries are provided by the organization before the contest.
- On-site contest
- Each team will use at most one workstation.
- There is an explicit restriction on internet access during the contest. Interaction about problems is allowed via clarification requests with the jury and internal discussion within the team. Asking questions about the contest to crew or coaches is subject to disqualification.
- Online contest
- Each team will use at most three workstations (i.e. at most one computer per team member).
- There is no explicit restriction on internet access during the contest. The organization discourages copying code from reference material, as solutions will be checked on similarities. If there is suspicion of plagiarism among teams, both teams are subject to disqualification.
- Interaction about problems is allowed from clarification requests with the jury and internal discussion within the team. Posing questions to a third-party, such as Stack Overflow or another team, is prohibited. The same applies to general programming errors.
- Each run is judged as accepted or rejected by a judge, and the team is notified of the results.
- For each problem, the jury has a correct solution and test data.
- A problem is solved after acceptance by the judges. The judges are solely responsible for accepting or rejecting runs.
- The winner of the pool is decided by (in order):
- The team with the most solved problems.
- The team with the least total time. The total time is the sum of the time elapsed from the beginning of the contest to the submission of the accepted run, plus 20 penalty minutes for every rejected run for that problem regardless of the submission time. Time is not consumed when the problem is not solved.
- The team that first submitted its last accepted problem is ranked higher. When a tie still remains, the team that first submitted its second-last accepted problem is ranked higher, and so on. When this does not resolve the tie, the ranks will be determined by chance.
- The problem set is the responsibility of the jury.
- The jury must be contacted through a “Clarification Request”.
- A team may be disqualified by the organization or jury for any activity that jeopardizes the contest, such as dislodging extension cords, unauthorized modification, unintended use of contest materials, using forbidden function or library calls, or distracting behavior.
- When a team is disqualified the coach should be notified directly. The team will be notified by the organization after the contest has ended. Exceptions to this rule are when the team obstructs other teams in participating.
- The organization has the right to stop the contest, extend the contest time, temporarily block submissions for all teams, or change the scores in exceptional conditions.
- In situations to which no rule applies, or there is ambiguity about the rules, the organization decides the outcome.
- If necessary, the organization can make changes and exceptions to these rules.