Contest Environment

Specification of Contestant PC

Operating System

Ubuntu 20.04.5 LTS (Focal Fossa)

Compilers

  • C
    • gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 (alias: gcc and gcc-10)
    • gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 (alias: gcc-9)
  • C++
    • g++-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 (alias: g++ and g++-10)
    • g++-9 (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 (alias: g++-9)
  • Java
    • openjdk 11.0.16 2022-07-19 (alias: java)
  • Python 2
    • Python 2.7.18 (alias: python2 and 7)
  • Python 3
    • Python 3.10.7 (alias: 10)
    • Python 3.8.10 (alias: python3 and 8)

Editors

  • VIM - Vi IMproved 8.1 (alias: vim)
    • Feature list, Basic Vimrc
  • GNU Emacs 26.3 (alias: emacs)
  • GNU nano, version 4.8 (alias: nano)
  • Sublime Text Build 3211 (alias: subl)
  • Visual Studio Code 1.71.0 (alias: code)
  • gedit - Version 3.36.2 (alias: gedit)

IDEs

  • Code::Blocks 20.03
    • +codeblocks-contrib, +codeblocks-common
    • Default Settings
  • Geany 1.36
  • Intellij IDEA Community Edition 2021.3
  • PyCharm Community Edition 2021.3
  • Apache Netbeans IDE 12.6

 

APPENDIX

Vim features

Huge version with GTK3 GUI.  Features included (+) or not (-):

+acl               -farsi             -mouse_sysmouse    -tag_any_white

+arabic            +file_in_path      +mouse_urxvt       +tcl

+autocmd           +find_in_path      +mouse_xterm       +termguicolors

+autochdir         +float             +multi_byte        +terminal

-autoservername    +folding           +multi_lang        +terminfo

+balloon_eval      -footer            -mzscheme          +termresponse

+balloon_eval_term +fork()            +netbeans_intg     +textobjects

+browse            +gettext           +num64             +textprop

++builtin_terms    -hangul_input      +packages          +timers

+byte_offset       +iconv             +path_extra        +title

+channel           +insert_expand     +perl              +toolbar

+cindent           +job               +persistent_undo   +user_commands

+clientserver      +jumplist          +postscript        +vartabs

+clipboard         +keymap            +printer           +vertsplit

+cmdline_compl     +lambda            +profile           +virtualedit

+cmdline_hist      +langmap           -python            +visual

+cmdline_info      +libcall           +python3           +visualextra

+comments          +linebreak         +quickfix          +viminfo

+conceal           +lispindent        +reltime           +vreplace

+cryptv            +listcmds          +rightleft         +wildignore

+cscope            +localmap          -ruby              +wildmenu

+cursorbind        +lua               +scrollbind        +windows

+cursorshape       +menu              +signs             +writebackup

+dialog_con_gui    +mksession         +smartindent       +X11

+diff              +modify_fname      +sound             -xfontset

+digraphs          +mouse             +spell             +xim

+dnd               +mouseshape        +startuptime       +xpm

-ebcdic            +mouse_dec         +statusline        +xsmp_interact

+emacs_tags        +mouse_gpm         -sun_workshop      +xterm_clipboard

+eval              -mouse_jsbterm     +syntax            -xterm_save

+ex_extra          +mouse_netterm     +tag_binary       

+extra_search      +mouse_sgr         -tag_old_static   

.vimrc

syntax on

set termguicolors                      " use full 24-bit color

set number                             " show line numbers

set autoindent                         " automatic indent

set foldmethod=syntax                  " syntax based folding

set nofoldenable                       " don't open file in folds

set cursorline                         " highlight the line under cursor

set laststatus=2                       " show status bar

set linebreak                          " don't break words

set scrolloff=5                        " let 5 lines after cursor

set showcmd                            " show commands

set wildmenu                           " display all matching files when we tab-complete

set tabstop=4                          " tab size in columns

set shiftwidth=4                       " indentation size

                                       " https://medium.com/@arisweedler/tab-settings-in-vim-1ea0863c5990

set noexpandtab                        " don't insert spaces, default

set backspace=indent,eol,start         " get backspace to work on these situations

Code::Blocks Default Settings Checklist

The following are already done for you:

  1. Go to Settings -> Editor -> General Settings and check (✓) the following items
    1. Auto Indentation
    2. Auto brace completion
    3. Show line number
  2. Unnecessary shortcut buttons should be removed from the menu bar to make the coding space larger
  3. Go to Settings -> Compiler -> Global Settings -> Compiler Settings -> Compiler Flags and check (✓) the following items
    1. Have g++ follow the C++14 ISO [-std=c++14]
    2. Optimize even more (for speed) [-O2]
  4. Go to Settings -> Environment -> General Settings -> Terminal to launch console programs, select gnome-terminal from drop down list