Table of Contents

Brute

Solutions to homework and contest semester project are submitted to Brute where they are automatically checked and evaluated (the research semester project is also submitted to Brute, however it is evaluated manually by the corresponding lab teacher). General information about the Brute

Details about input, output and command line arguments of your compiled programs are provided in the corresponding assignment PDFs.

Important: the time limits are scaled by the programming language in the homework assignments. However, this is not true for the contest semester project, i.e. all programming languages have the same time-limit in the contest semester project.

From now on, assume that $ROOT_DIR is the root directory with your submitted source codes.

C++ details

Requirements:

  1. all source files must reside in $ROOT_DIR (subdirectories are not allowed)
  2. all source files have either cpp or h suffix
  3. one of cpp files must contain main() function

Source codes are compiled with g++ compiler, version 10.2, with flags -std=c++11 -O2 -march=native -pthread .

Java details

Requirements:

  1. all source files must reside in $ROOT_DIR/combopt directory (subdirectories are allowed)
  2. all source files have java suffix
  3. the top package of all source files is combopt
  4. source file $ROOT_DIR/combopt/Main.java must exist and must contain the Main class with main() method

Source codes are compiled with Oracle Java compiler, version 1.8.

Python details

Requirements:

  1. source file $ROOT_DIR/main.py is the top file that will be run and therefore it must exist
  2. source file $ROOT_DIR/main.py begins with shebang #!/usr/bin/env python2 (for Python2) or #!/usr/bin/env python3 (for Python3).
  3. all Python files must be encoded in UTF-8.
  4. if you want to use Gurobi library, import gurobipy module.

Source codes are run with cpython interpreter, version 2.7 or 3.9 (depends on shebang in $ROOT_DIR/main.py, see above). Additional allowed libraries:

Common issues