Настройка среды соревновательного программирования на C ++

Опубликовано: 30 Ноября, 2021

В этой статье мы узнаем о том, как настроить все в одной среде соревновательного программирования.

Операционная система

Всегда рекомендуется использовать ОС на базе Linux. Это потому, что вы не только узнаете некоторые лучшие ноу-хау системы, но также сможете получить некоторые предустановленные инструменты кодирования.
Я сам очень рекомендую систему Linux. Для начинающих Ubuntu вполне подойдет. Опытные пользователи могут использовать ArchLinux или Kali Linux. Даже если вы не хотите менять свою ОС, используйте последние версии Windows (7 или новее).

Загрузить рабочий стол Ubuntu

Текстовый редактор

В наши дни на рынке доступно множество хороших текстовых редакторов, таких как VS Code, Sublime text, Atom, Notepad ++ и т. Д.
Мой личный фаворит - Sublime Text 3 из-за его легкости, минимальной эстетики и высокой функциональности.

Скачать SublimeText 3

Язык для использования

Пришло время выбрать язык для использования. Большинство людей используют C ++ в качестве основного языка программирования. Это в основном из-за его скорости, ясности и широкой поддержки. Поэтому вам следует использовать C ++, если вы новичок в программировании, но если вы не знаете C ++, но знаете какой-либо другой язык, попробуйте сосредоточиться только на этом языке. Большинство судей CP Online будут делать такие вещи, как переменные временные ограничения и все для другого языка. т.е. если ваш язык в 2 раза медленнее, чем C ++, вы также получите ограничение по времени в 2 раза по сравнению с программой на C ++.

Компилятор

Теперь, если вы используете C ++ в качестве основного языка программирования, вам необходимо установить компилятор gcc (пользователи Linux могут пропустить этот шаг, поскольку большинство дистрибутивов Linux поставляются с компилятором :)). Если вы не уверены, есть ли у вас компилятор gcc или нет; откройте оболочку (например, cmd) и выполните следующий код. Если вы получите ответ, тогда вы готовы к работе. Если нет (то есть система не понимает команду), вам необходимо сначала установить компилятор.

g ++ –версия

Скачать компилятор MinGW

Окончательная настройка

Теперь это самый важный этап статьи… «ретушь».

    Шаблон для CP

    #include<bits/stdc++.h>
    using namespace std;
    void solve();
    int main()
    {
    ios_base::sync_with_stdio( false );cin.tie(NULL);
    #ifndef ONLINE_JUDGE
    freopen ( "input.txt" , "r" , stdin);
    freopen ( "error.txt" , "w" , stderr);
    freopen ( "output.txt" , "w" , stdout);
    #endif
    int t=1;
    ${2: /*is Single Test case?*/ }cin>>t;
    while (t--)
    {
    solve();
    cout<< " " ;
    }
    cerr<< "time taken : " <<( float ) clock ()/CLOCKS_PER_SEC<< " secs" <<endl;
    return 0;
    }
    void solve()
    {
    }

    если вы используете Sublime Text, выполните следующие действия, чтобы получить шаблон

    откройте возвышенное и перейдите в инструменты> разработчик> новый фрагмент и нажмите на него
    замените существующий код на код, написанный выше, и сохраните его под каким-нибудь именем.

    Если вы используете какой-либо другой текстовый редактор, вот шаблон, который вам следует использовать:



    #include <bits/stdc++.h>
    using namespace std;
    void solve();
    int main()
    {
    ios_base::sync_with_stdio( false );
    cin.tie(NULL);
    #ifndef ONLINE_JUDGE
    freopen ( "input.txt" , "r" , stdin);
    freopen ( "error.txt" , "w" , stderr);
    freopen ( "output.txt" , "w" , stdout);
    #endif
    int t = 1;
    /*is Single Test case?*/ cin >> t;
    while (t--) {
    solve();
    cout << " " ;
    }
    cerr << "time taken : " << ( float ) clock () / CLOCKS_PER_SEC << " secs" << endl;
    return 0;
    }
    void solve()
    {
    }

    Настройка экрана

    Все сайты кодирования используют метод сравнения файлов для проверки ответов. Это означает, что они сохраняют вывод вашей программы в текстовом файле и сравнивают с фактическим файлом ответов.
    Поэтому и вам следует поступить так же. Что вам нужно сделать, так это создать папку и внутри нее создать 3 файла input.txt, output.txt и error.txt. Вы также должны разместить здесь свой код cpp. После этого вы должны настроить свой редактор на макет, показанный на рисунке:

    Обратите внимание на файлы, открытые в редакторе.

    Добавить

    Рекомендуется иметь при себе копии всех кодов. Поэтому хорошо использовать инструмент контроля версий, например git.
    Используя Git, вы можете получить обратно любой предыдущий код, который вы когда-либо писали.
    Я поцарапал код для автоматизации процесса фиксации (для этого требуется SublimeText, ОС Linux и Git)
    Скачать GIT

    {
    "shell_cmd" : "g++ "${file}" -o "${file_path}\\${file_base_name}"" , "file_regex" : "^(..[^:]):([0-9]+):?([0-9]+)?:? (.)$" ,
    "shell_cmd" : "g++ -O2 -std=c++11 "${file}" -o "${file_path}\\${file_base_name}" && "${file_path}\\${file_base_name}" < input.txt" ,
    "working_dir" : "${file_path}" ,
    "selector" : "source.c, source.c++" ,
    "variants" : [
    { "name" : "Run + Commit" ,
    "shell_cmd" : "g++ -O2 -std=c++11 "${file}" -o "${file_path}\\${file_base_name}" && "${file_path}\\${file_base_name}" < input.txt && git add test.cpp && dd if="${file}" of=*/Enter the location of your Programming folder her/*/name.txt bs=10 count=1 && git commit -F name.txt " ,
    }
    ]
    }

    Чтобы использовать приведенный выше код; Перейдите в Sublime Text> Tools> Build System> New Built System и вставьте этот код. Сохраните файл с именем, а затем снова перейдите в Инструменты> Система сборки и выберите имя, которое вы выбрали для нашего нового кода.
    Все сделано…
    Теперь вы можете запустить свой код CPP с помощью CTRL + SHIFT + B и выбрать один из двух вариантов.

    Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по доступной для студентов цене и будьте готовы к работе в отрасли. Получите все важные математические концепции для соревновательного программирования с курсом Essential Maths for CP по доступной для студентов цене.

    Если вы хотите посещать живые занятия с отраслевыми экспертами, пожалуйста, обращайтесь к Geeks Classes Live и Geeks Classes Live USA.