**CodeCon: S2021 TU**
This page contains details about the 2021 April 24 CodeCon programming contest.
This contest is for Taylor University students only and will take place in Euler 201/217/218.
# Results
Here are the results of the competition!
## Non-CSE Division
  
| | | | |
| --- | --- | :--- | :--- |
| 1 | 6 | Jaden's Team | Jaden Nourse
Jada Bonnett
Sarah Molengraft |
| 2 | 6 | 2EZ B Team | Zach Zander
Mark Magee
Jared Sisson |
| 3 | 6 | We're Business Majors | Emma Torres
Katelyn Murphy
Andrew Bruner |
| 4 | 5 | Thunder Cats | Alicia Kanai
Nate Moore |
| 5 | 3 | Who u gonna call? BUG BUSTERS | Raquel Rosado
Marcos Rosado |
| 6 | 3 | 2nd East | Colton Baroni
Ian Warren |
| 7 | 1 | G&T | Garrett Russell
Taylor Browning |
| 8 | 1 | Super-Hot-Fire | Reid Wheeler
Aven Jones |
See more details on the [Kattis Standings Page](https://open.kattis.com/contests/etqudg/standings).
The questions for the Non-CSE division were:
- [Hissing Microphone](https://open.kattis.com/contests/etqudg/problems/hissingmicrophone)
- [Stopwatch](https://open.kattis.com/contests/etqudg/problems/stopwatch)
- [Shattered Cake](https://open.kattis.com/contests/etqudg/problems/shatteredcake)
- [Alphabet Spam](https://open.kattis.com/contests/etqudg/problems/alphabetspam)
- [Speeding](https://open.kattis.com/contests/etqudg/problems/speeding)
- [Bijele](https://open.kattis.com/contests/etqudg/problems/bijele)
## Beginner
  
| | | | |
| --- | --- | :--- | :--- |
| 1 | 4 | Server Side Squad | Joshua Shinkle
Lance VanErmen
Zack Brandon |
| 2 | 3 | Blobfish | Sean Parnell
Adam Scott |
| 3 | 2 | #include <​iostream> | Andrew Dalland
Austin Davis |
| 4 | 1 | Chips Ahoy | Olivia Lowe
Alli Teal
Hannah Brackenbury |
See more details on the [Kattis Standings Page](https://open.kattis.com/contests/nuao5s/standings).
The questions for the Beginner division were:
- [Boat Parts](https://open.kattis.com/contests/nuao5s/problems/boatparts)
- [Happy Happy Prime Prime](https://open.kattis.com/contests/nuao5s/problems/happyprime)
- [Paradox With Averages (Hard)](https://open.kattis.com/contests/nuao5s/problems/averageshard)
- [Metaprogramming](https://open.kattis.com/contests/nuao5s/problems/metaprogramming)
- [Illiteracy](https://open.kattis.com/contests/nuao5s/problems/illiteracy)
- [Odd Gnome](https://open.kattis.com/contests/nuao5s/problems/oddgnome)
## Advanced
  
| | | | |
| --- | --- | :--- | :--- |
| 1 | 3 | Not in the slightest | Jeff Jewett
Joey Gorski |
| 2 | 3 | Foundation | Daniel Gibson
Trevor Mitchell
Matthew Bouch |
| 3 | 2 | SWANZAI | Tim Swanson
Rob Swanson |
| 4 | 1 | Just here to graduate | Joshua Meleski
Nathan Streitmatter |
| 5 | 1 | JandH | Jolie Rabideau
Heather Dalton |
| 6 | 0 | We Cheated | Zachary Winters
Timmy Hodges |
See more details on the [Kattis Standings Page](https://open.kattis.com/contests/w7z2q5/standings).
The questions for the Advanced division were:
- [Outer Space Invaders](https://open.kattis.com/contests/w7z2q5/problems/spaceinvaders)
- [The Maze Makers](https://open.kattis.com/contests/w7z2q5/problems/mazemakers)
- [Find Poly](https://open.kattis.com/contests/w7z2q5/problems/findpoly)
- [Half a Cookie](https://open.kattis.com/contests/w7z2q5/problems/halfacookie)
- [Baby Names](https://open.kattis.com/contests/w7z2q5/problems/babynames)
- [Bit by Bit](https://open.kattis.com/contests/w7z2q5/problems/bitbybit)
# Images
# Timeline
The following are dates and times to keep in mind.
## Practice Session
The department will hold a practice session on Wednesday, April 21, 7–9pm in Euler 217.
There you can learn some general strategies and practice some contest-like problems.
See this [document](https://gfx.cse.taylor.edu/events/programming-contest) for strategies and practice problems.
## Competition Day
The following is the schedule for Saturday, 2021 April 24.
| | |
| :--- | :--- |
| 10:00am | Team Registration Closes |
| 11:00am | Introduction |
| 12:00pm | Break for lunch |
| 1:00pm | Competition Begins |
| 5:00pm | Competition Ends |
| 5:15pm | Ceremony |
During the Introduction phase, we will cover the contest rules, the formal of the contest, and try some practice problems.
At noon, we will break for lunch (eat on your own), but every team needs to be back by 1pm when the competition begins!
All teams have 4hrs total or until 5pm, whichever is first, to finish as many of the problems as possible.
# Contest Rules
- Three Divisions: Non-CSE, Beginner, Advanced
- The Non-CSE division is only for students who are not majoring in a Computer Science or Engineering degree (i.e., CS, CSDM, CCY, CEN)
- No student who has taken a COS 200+ course may participate in the Beginner division
- Teams consist of either 2 or 3 current Taylor University students
- No solo teams. No teams of 4 or more.
- Each team may use exactly one workstation with one keyboard and one mouse
- Teams can submit solutions using any of the languages listed in the Languages section below at any time during the competition
- Only resources allowed:
- Printed references (ex: books)
- No "cheat sheets" will be allowed
- Only certain websites
- C++: [cppreference](https://en.cppreference.com/w/), [cplusplus](https://www.cplusplus.com/reference/)
- Haskell: [documentation](https://www.haskell.org/documentation/)
- Java: [docs.oracle.com](https://docs.oracle.com/javase/10/docs/api/overview-summary.html)
- Prolog: [reference manual](https://www.swi-prolog.org/pldoc/doc_for?object=manual)
- Python 3: [Python 3.6.13 Documentation](https://docs.python.org/3.6/)
- This site and the programming contest server site
- IMPORTANT: General search engine searches (Google, Bing, DuckDuckGo, AltaVista, AOL, Ask Jeeves, etc.), developer debugging sites (StackOverflow, etc.), and other online resources will _**NOT**_ be allowed during the competition
- Scratch paper and pencils will be provided
- No phone-usage is allowed during the competition
# Problems and Judging
All teams (regardless of division) will be given 6 problems to solve in a 4 hour block of time.
Each problem will consist of a problem story, the specifications for the input, the specifications for the output, runtime and memory constraints for the problem, and at least one sample input and corresponding output.
Teams can submit solutions to problems in any order, and they are allowed to resubmit solutions until success.
A problem is considered solved if the team submits a program which can correctly pass all of the (hidden) tests within the runtime and memory constraints.
Although teams can submit solutions as often as they choose, teams are strongly encouraged to test their code on the workstation prior to submission, because each incorrect submission incurs a time penalty (see details in next paragraph).
Teams are ranked based on the number of problems solved correctly, breaking any ties with penalties.
Penalties are sum of time + 20 minutes for each wrong submission for all _solved_ problems.
This means that if several teams solved all of the problems, the team with the smallest sum of time and fewest number of wrong submissions would be declared the winning team.
# Languages
The programming contest server can accept solutions in the languages listed below.
Teams are allowed to submit solutions to problems using any of the accepted languages.
!!! WARNING
Although there are many possible languages, participants will be limited to the references sites listed above.
Teams are encouraged to bring printed reference materials.
!!! NOTE
If the language supports an exit code, any non-zero exit code will be interpreted as a Run Time Error
- C
- compiler: gcc 9.3.0 (Ubuntu 9.3.0-10-ubuntu)
- flags: `-g -O2 -std=gnull -static {files} -lm`
- allowed to use all standard libraries included in C
- C#
- compiler: DMCS version Mono C#, version 6.8.0.105
- flags: `-optimize+ -r:System.Numerics {files}`
- allowed to use all standard libraries included in C#
- C++
- compiler: g++ 9.3.0 (Ubuntu 9.3.0-10-ubuntu)
- flags: `-g -O2 -std=gnu++17 -static {files}`
- allowed to use all standard libraries included in C++
- COBOL
- compiler: GnuCOBOL cobc 2.2.0
- flags: `-g -O2 -std=default -free -x -static {files}`
- allowed to use all standard libraries included in COBOL
- F#
- compiler: fsharpc F# 4.0 (Open Source Edition)
- flags: `- --optimize+ -r:System.Numerics {files}`
- allowed to use all standard libraries included with F#
- Go
- compiler: GCCGO gccgo 10.0.1 20200411 (experimental, Ubuntu 10-20200411-0ubuntu1)
- flags: `-g -static-libgcc {files`
- allowed to use all standard libraries included with Go
- Haskell
- compiler: GHC version The Glorious Glasgow Haskell Compilation System, version 8.6.5
- compiler flags: `-O2 -ferror-spans -threaded -rtsopts {files}`
- runtime flags: `+RTS -M{memlim}m -K8m -RTS`
- allowed to use all standard libraries included with Haskell
- Java
- compiler: OpenJDK javac 11.0.8
- compiler flags: `-encoding UTF-8 -sourcepath {path} -cp {path}/* -d {path} {files}`
- runtime flags: `-Dfile.encoding=UTF-8 -XX:+UseSerialGC -Xss64m -Xms{memlim}m -Xmx{memlim}m -cp {path}:{path}/*`
- allowed to use all standard libraries included with Java
- Node.js
- compiler: Node.js v10.19.0
- flags: `-c {files}`
- allowed to use all standard libraries included with JavaScript (Node.js)
- SpiderMonkey
- compiler: SpiderMonkey version JavaScript-C68.6.0
- flags: `-c {files}`
- allowed to use all standard libraries included with JavaScript (SpiderMonkey)
- Kotlin
- compiler: kotlinc-jvm 1.3.0 (JRE 11.0.8+10-post-Ubuntu-0ubuntu120.04)
- compiler flags: `-d {path} -Djava.io.tmpdir={path} {files}`
- runtime flags: `-J-XX:UseSerialGC -J-Xss64m -J-Xms{memlim}m -J-Xmx{memlim}m -cp {path}`
- allowed to use all standard libraries included with Kotlin
- Common Lisp
- compiler: SBCL 2.0.1.debian
- flags: `--control-stack-size 4 --noinform --noprint --non-interactive --eval (if (equal (compile-file "{file}") NIL) (sb-ext:exit :code 43) ())`
- allowed to use all standard libraries included with Common Lisp
- Objective-C
- compiler: gcc 9.3.0 (Ubuntu 9.3.0-10ubuntu)
- flags: `{files} -lm -O2 -std=gnu11 -lobjc -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=2 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -g -O2 -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -fgnu-runtime -fconstant-string-class=NSConstantString -I/usr/local/include/GNUstep -I/usr/include/GNUstep -lgnustep-base`
- allowed to use all standard libraries included with Objective-C
- OCaml
- compiler: OCaml 4.08.1
- flags: `unix.cmxa str.cmxa bigarray.cmxa {files}`
- allowed to use all standard libraries included with OCaml
- Pascal
- compiler: Free Pascal 3.0.4+dfsg-23
- flags: `-O2 -XS -Xt {main file}`
- allowed to use all standard libraries included with Pascal
- PHP
- compiler: PHP 7.4.3 (cli, built 2020 May 26, NTS)
- flags: `-n -d display_errors=stderr -d html_errors=0 -l {files}`
- allowed to use all standard libraries included with PHP
- Prolog
- compiler: SWI-Prolog 7.6.4 for amd64
- flags: `-O -q -g main -t halt -c {files}`
- allowed to use all standard libraries included with Prolog
- Python 2
- compiler: PyPy 2.7.13 (7.3.1+dfsg-2, 2020 Apr 21)
- flags: `{files}`
- allowed to use all standard libraries included with Python 2
- Python 3
- compiler: PyPy 3.6.9 (7.3.1+dfsg-4, 2020 Apr 22)
- flags: `{files}`
- allowed to use all standard libraries included with Python 3
- Ruby
- compiler: ruby 2.7.0p0 (2019-12-25 rev 647ee6f091, x86_64-linux-gnu)
- flags: `{files}`
- allowed to use all standard libraries included with Ruby
- Rust
- compiler: rustc 1.41.0
- flags: `-O --crate-type bin --edition=2018 {main file}`
- allowed to use all standard libraries included with Rust