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:
- Selecciona la plataforma (1-5)
- Ingresa el ID del concurso (si aplica)
- Selecciona el lenguaje de programación
- ¡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
- Codeforces - Obtiene nombres de problemas automáticamente vía API
- VJudge - Crea archivos genéricos (A, B, C...)
- CodeChef - Crea archivos genéricos
- HackerRank - Crea archivos genéricos
- RPC - Estructura especial con subcarpetas + búsqueda de PDF
Requisitos
- Python 3.10+
- VSCode
Contribuir
Las contribuciones son bienvenidas! Por favor:
- Fork del proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit de tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4708b99f8d6be5b37b167cfaaa20064a075985a9d394693eed162ce1b9b09d78
|
|
| MD5 |
a67053c09f50cb579fc2bbe3a13057dd
|
|
| BLAKE2b-256 |
0141c2faccba7296f3c114747faa9315627fd003b4f50fd8d53914d0d9a7040d
|
File details
Details for the file cpcontest_setup-1.0.0-py3-none-any.whl.
File metadata
- Download URL: cpcontest_setup-1.0.0-py3-none-any.whl
- Upload date:
- Size: 18.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
502a05811bea96165aca0fa7b1d1dea90ec5822b35805b71ecac839c165707ad
|
|
| MD5 |
2b6166d6c80ea4004a484ba30d353d6f
|
|
| BLAKE2b-256 |
a9e1175a4a6eb7b458a17a5bcb5e320ee9eadd303ae3930cbdd6abe57f23966d
|