====== Upload System ====== Solutions to homework and contest semester project are submitted to [[https://cw.felk.cvut.cz/brute/|UploadSystem]] where they are automatically checked and evaluated (the research semester project is also submitted to UploadSystem, however it is evaluated manually by the corresponding lab teacher). General information about the UploadSystem * Supported programming lanugages: C++, Java, Python. The UploadSystem tries to automatically detect the language of submitted source codes by checking the file suffixes (''cpp'' for C++, ''java'' for Java, ''py'' for Python). * Compiled programs must be able to run on GNU/Linux operating system. * All programs are linked with Gurobi 6.5 solver and with the exceptions specified below, the source codes are expected to be independent on other than standard libraries. * Source codes with multiple files has to be submitted as ''.zip'' archives. * If your program exits with non-zero status, you will be notified about this. Usually, non-zero status is returned when your program crashes. 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: - all source files must reside in ''$ROOT_DIR'' (subdirectories are not allowed) - all source files have either ''cpp'' or ''h'' suffix - one of ''cpp'' files must contain ''main()'' function Source codes are compiled with g++ compiler, version 4.9, with flags ''-std=c++11 -O2 -march=native -pthread'' . ===== Java details ===== Requirements: - all source files must reside in ''$ROOT_DIR/combopt'' directory (subdirectories are allowed) - all source files have ''java'' suffix - the top package of all source files is ''combopt'' - 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: - source file ''$ROOT_DIR/main.py'' is the top file that will be run and therefore it must exist - source file ''$ROOT_DIR/main.py'' begins with shebang ''#!/usr/bin/env python2'' (for Python2) or ''#!/usr/bin/env python3'' (for Python3). - all Python files must be encoded in ''UTF-8''. - if you want to use Gurobi library, import ''gurobipy'' module. Source codes are run with cpython interpreter, version 2.7 or 3.4 (depends on shebang in ''$ROOT_DIR/main.py'', see above). Additional allowed libraries: * numpy