Configuración de un entorno de programación competitivo de C++

En este artículo, aprenderemos cómo configurar todo en un entorno de programación competitivo

Sistema operativo

Siempre se recomienda utilizar un sistema operativo basado en Linux. Es así porque no solo aprenderá algunos conocimientos mejores del sistema, sino que también podrá obtener algunas herramientas de codificación preinstaladas.
Recomiendo encarecidamente un sistema Linux yo mismo. Para empezar, Ubuntu está bastante bien. Los usuarios avanzados pueden optar por ArchLinux o Kali Linux. Incluso si no desea cambiar su sistema operativo, utilice las últimas versiones de Windows (7 o posterior).

Descargar escritorio de Ubuntu

Editor de texto

Hay una gran cantidad de buenos editores de texto disponibles en el mercado en estos días, como VS Code, Sublime text, Atom, Notepad ++, etc.
Mi favorito personal es Sublime Text 3 debido a que es liviano, mínimamente estético y de alta funcionalidad.

Descargar SublimeText 3

Idioma a utilizar

Ahora es el momento de elegir un idioma para usar. La mayoría de las personas usan C++ como su lenguaje de codificación principal. Esto se debe principalmente a su velocidad, claridad y amplio apoyo. Por lo tanto, debe usar C++ si es nuevo en la codificación, pero si no sabe C++ sino algún otro idioma, intente concentrarse solo en ese idioma. La mayoría de los jueces de CP Online harán cosas como límites de tiempo variables y todo para otros idiomas. es decir. si su idioma es 2 veces más lento que C++, entonces también obtendrá un límite de tiempo 2 veces mayor en comparación con un programa C++.

Compilador

Ahora, si está utilizando C++ como su lenguaje de codificación principal, debe instalar un compilador gcc (los usuarios de Linux pueden omitir este paso ya que la mayoría de las distribuciones de Linux vienen con un compilador :)), si no está seguro si tiene un compilador gcc o no; open-shell (es decir, cmd) y ejecute el siguiente código. Si obtiene una respuesta, entonces está listo para comenzar. Si no (es decir, el sistema no entiende el comando), primero debe instalar un compilador.

versión g++

Descargar compilador MinGW

Configuración final

Ahora bien, este es el paso más importante del artículo…”el retoque”.

Una plantilla para CP

C++

#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<<"\n";
   }
   
   cerr<<"time taken : "<<(float)clock()/CLOCKS_PER_SEC<<" secs"<<endl;
   return 0;
}
void solve()
{
}

Si está utilizando Sublime Text, siga estos pasos para
abrir una plantilla sublime y vaya a herramientas> desarrollador> nuevo fragmento y haga clic en él,
reemplace el código existente con el código escrito arriba y guárdelo con algún nombre.

Si está utilizando algún otro editor de texto, esta es la plantilla que debe usar:

C++

#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 << "\n";
    }
  
    cerr << "time taken : " << (float)clock() / CLOCKS_PER_SEC << " secs" << endl;
    return 0;
}
void solve()
{
}

Configuración de pantalla

Todos los sitios de codificación utilizan un método de comparación de archivos para verificar las respuestas. Significa que almacenan la salida a través de su programa en un archivo de texto y la comparan con el archivo de respuesta real.
Por lo tanto, también debe hacerlo. Lo que debe hacer es crear una carpeta y dentro de ella crear 3 archivos input.txt, output.txt y error.txt. También debe colocar su código cpp aquí. Después de eso, debe configurar su editor con el diseño que se muestra en la figura:

Para configurar el diseño de Sublime Text como se muestra en la imagen de arriba, siga los pasos a continuación
1. Ver -> Diseño -> Columnas: 4 (Esto dividirá la ventana en 4 columnas)
2. Ver -> Grupos -> Columnas máximas: 2 (Esto comprimirá las últimas 3 columnas para input.txt, output.txt y error.txt en una sola columna) 

Preste atención a los archivos que están abiertos en el editor.

Añadir

Se recomienda tener consigo la copia de todos sus códigos. Por lo tanto, es bueno usar una herramienta de control de versiones, como git.
Mediante el uso de Git, puede derivar cualquier código anterior que haya escrito.
He borrado un código para automatizar el proceso de confirmación (requiere SublimeText, Linux OS y Git)
Descargar GIT

PHP

{ 
"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 \"${file}\" && git commit -m \"${file_base_name}\" "
 }
 ]
 }

Para usar el código anterior; Vaya a Sublime Text>Tools>Build System>New Built System y pegue este código. Guarde el archivo con un nombre y, a continuación, vaya de nuevo a Herramientas>Sistema de compilación y seleccione el nombre que ha elegido para nuestro nuevo código.
TODO Listo… 
Ahora puede ejecutar su código CPP usando CTRL+SHIFT+B y elegir entre las 2 opciones.
Notas:
1. Asegúrese de ejecutar: git init , en la carpeta antes de ejecutar CTRL+SHIFT+B para confirmar.
2. El mensaje de confirmación del archivo será el mismo que el nombre del archivo, así que intente usar un archivo cpp diferente si necesita rastrearlos por separado.
 

Publicación traducida automáticamente

Artículo escrito por deprov447 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *