Skip to main content

Generador automático de estructuras para concursos de programación competitiva modo Colombiano

Project description

cpcontest-setup

Generador automático universal para concursos de programación competitiva modo Colombiano año 2026.

Características

  • Soporte multiplataforma: Windows, Linux, MacOS
  • Múltiples plataformas: Codeforces, VJudge, CodeChef, HackerRank, RPC
  • Integración con API's
  • Detección automática de PDFs para RPC
  • Plantillas personalizables
  • Apertura automática en VSCode

Instalación

pip install cpcontest-setup

Uso

cpcontest

El programa te guiará paso a paso:

  1. Selecciona la plataforma (1-5)
  2. Ingresa el ID del concurso (si aplica)
  3. Selecciona el lenguaje de programación
  4. ¡Listo! Los archivos se crean automáticamente

Estructura de Directorios

Plataformas con API

Workspace/Competitive-Programming/Contests/
└── {Plataforma}/
    └── {Año}/
        └── {ContestID}/
            ├── A.cpp (o .java, .py)
            ├── B.cpp
            ├── C.cpp
            └── in1

Plataformas sin API:

Workspace/Competitive-Programming/Contests/RPC/
└── {Año}/
    └── Rnd{Número}/
        ├── A/
        │   ├── A.cpp
        │   └── in1
        ├── B/
        │   ├── B.cpp
        │   └── in1
        └── problemset.pdf

Configuración de Plantillas

Coloca tus plantillas en:

Windows: D:\Workspace\Competitive-Programming\Templates\

Linux: /home/{usuario}/Workspace/Competitive-Programming/Templates/

MacOS: /Users/{usuario}/Workspace/Competitive-Programming/Templates/

Nombres de plantillas:

  • tem.cpp - Plantilla C++ general
  • tem_rpc.cpp - Plantilla C++ para RPC
  • tem.java - Plantilla Java
  • tem.py - Plantilla Python

Marcadores en Plantillas

Puedes usar estos marcadores en tus plantillas:

  • $%U%$ - Nombre de usuario
  • $%D%$ - Día actual
  • $%M%$ - Mes actual
  • $%Y%$ - Año actual
  • $%R%$ - Número de ronda (solo RPC)
  • $%file%$ - Nombre del archivo

Ejemplo de Plantilla C++

/*
 * Autor: $%U%$
 * Fecha: $%D%$/$%M%$/$%Y%$
 * Problema: $%file%$
*/
#include <bits/stdc++.h>

using namespace std;

int main() {
   ios_base::sync_with_stdio(false);
   cin.tie(nullptr);  
   // Tu código aquí
}

Plataformas Soportadas

  1. Codeforces - Obtiene nombres de problemas automáticamente vía API
  2. VJudge - Crea archivos genéricos (A, B, C...)
  3. CodeChef - Crea archivos genéricos
  4. HackerRank - Crea archivos genéricos
  5. RPC - Estructura especial con subcarpetas + búsqueda de PDF

Requisitos

  • Python 3.10+
  • VSCode

Contribuir

Las contribuciones son bienvenidas! Por favor:

  1. Fork del proyecto
  2. Crea una rama para tu feature (git checkout -b feature/AmazingFeature)
  3. Commit de tus cambios (git commit -m 'Add some AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

Licencia

Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.

Autor

El loco empedernido josuerom.

Agradecimientos

  • Comunidad de programación competitiva de Colombia
  • A las plataformas por sus API públicas
  • Todos los contribuidores del proyecto

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cpcontest_setup-1.0.0.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cpcontest_setup-1.0.0-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file cpcontest_setup-1.0.0.tar.gz.

File metadata

  • Download URL: cpcontest_setup-1.0.0.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for cpcontest_setup-1.0.0.tar.gz
Algorithm Hash digest
SHA256 4708b99f8d6be5b37b167cfaaa20064a075985a9d394693eed162ce1b9b09d78
MD5 a67053c09f50cb579fc2bbe3a13057dd
BLAKE2b-256 0141c2faccba7296f3c114747faa9315627fd003b4f50fd8d53914d0d9a7040d

See more details on using hashes here.

File details

Details for the file cpcontest_setup-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cpcontest_setup-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 502a05811bea96165aca0fa7b1d1dea90ec5822b35805b71ecac839c165707ad
MD5 2b6166d6c80ea4004a484ba30d353d6f
BLAKE2b-256 a9e1175a4a6eb7b458a17a5bcb5e320ee9eadd303ae3930cbdd6abe57f23966d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page