diff --git a/.github/workflows/sync_content.yml b/.github/workflows/sync_content.yml index dbbb600..b5c2271 100644 --- a/.github/workflows/sync_content.yml +++ b/.github/workflows/sync_content.yml @@ -20,6 +20,7 @@ jobs: with: ref: ${{ github.head_ref }} fetch-depth: 0 + submodules: true - name: Set up Python uses: actions/setup-python@v5 @@ -40,12 +41,20 @@ jobs: working-directory: utils run: pipenv run python3 download_and_sync_courses.py + - name: Pull lint container + run: ./utils/lint --only-pull-image + + - name: Fix lints + run: | + echo "Running lint fix..." + ./utils/lint fix --all || true + git add . + - name: Commit and push changes id: commit run: | git config --global user.name "github-actions" git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" - git add . # Only commit if there are changes if git diff --staged --quiet; then echo "No changes to commit" diff --git a/Courses/omi-public-course/intro/demo-de-objetivo/.gitattributes b/Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/.gitattributes similarity index 100% rename from Courses/omi-public-course/intro/demo-de-objetivo/.gitattributes rename to Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/.gitattributes diff --git a/Courses/omi-public-course/intro/demo-de-objetivo/.gitignore b/Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/.gitignore similarity index 100% rename from Courses/omi-public-course/intro/demo-de-objetivo/.gitignore rename to Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/.gitignore diff --git a/Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/settings.distrib.json b/Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/settings.json b/Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/settings.json new file mode 100644 index 0000000..d571d85 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "python_8", + "title": "python_8" +} diff --git a/Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/statements/es.markdown b/Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/statements/es.markdown new file mode 100644 index 0000000..b8a7b19 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8/statements/es.markdown @@ -0,0 +1,13 @@ +En esta octava sesión estudiaremos el comportamiento de archivos binarios y de texto a nivel sistema operativo, para luego estudiar su manejo en Python. + +## Material de la Sesión +* [Liga al video de la sesión](https://www.facebook.com/177965472243902/videos/989833928129180/). + +Puedes encontrar [aquí](https://docs.google.com/presentation/d/e/2PACX-1vS0Ji_mhme_NWD-81E_YGgIsdDqlWK-9CuhuxI-2gQ8Un1EtVvFVlflICZRGnxQHu1ikJzIMQRGCkuK/pub?start=false&loop=false&delayms=60000) las diapositivas mostradas durante la sesión. También puedes hacer click [aquí](https://colab.research.google.com/drive/1sjliwkWUNgrnaC3NMcF_detkmHj5L8ZK?usp=sharing) para ir a la _Notebook_ de Google Colab utilizada durante esta sesión. También puedes acceder a la [versión alojada en Github](./OmegaUp_py_sesion09.ipynb) de la notebook para descargarla o verla en este portal. +También puedes encontrar en este directorio los archivos binarios y de texto utilizados en los ejemplos. + +## Contacto +Si tienes dudas y/o comentarios sobre la sesión o sobre el curso en general, puedes escribirnos a: + +* [mxfuturelab@gmail.com](mailto://mxfuturelab@gmail.com) para contactar al canal de atención de Future Lab. +* [juan.bolanos@cimat.com](mailto://juan.bolanos@cimat.mx) para contactar al tutor de esta sesión directamente. diff --git a/Courses/omi-public-course/practice/Contest-Start/.gitattributes b/Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/.gitattributes similarity index 100% rename from Courses/omi-public-course/practice/Contest-Start/.gitattributes rename to Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/.gitattributes diff --git a/Courses/omi-public-course/practice/Contest-Start/.gitignore b/Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/.gitignore similarity index 100% rename from Courses/omi-public-course/practice/Contest-Start/.gitignore rename to Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/.gitignore diff --git a/Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/settings.distrib.json b/Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/settings.json b/Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/settings.json new file mode 100644 index 0000000..bf614ec --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "python_3", + "title": "python_3" +} diff --git a/Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/statements/es.markdown b/Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/statements/es.markdown new file mode 100644 index 0000000..211c4bc --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3/statements/es.markdown @@ -0,0 +1,16 @@ + + + +¡Hola! 🤓 Bienvenid@ a la tercer sesión de este curso introductorio a python, que cubre el tema de **Colecciones de Datos**. En esta sesión se explican los conceptos y métodos para cada una de las Colecciones en `Python`🐍 , así mismo se mostrará cómo manipular estas Colecciones. + + +## Material de la Sesión + + +Puedes encontrar aquí [![Slides](https://img.shields.io/badge/Slides-Google%20Slides-tomato)](https://docs.google.com/presentation/d/1R6jK-2L_fuuvn6kmPX93yIuowud2KQgGR6-70TV3u_s/edit?usp=sharing) los slides mostradas en la sesión, que te permitirán entender el funcionamiento de cada una de las Colecciones de datos. [Aquí](https://colab.research.google.com/drive/1bYe02FgL6z6iGQ7OBGa5XTXC_L3e6Q1O?usp=sharing) encontraras el _Notebook_ de Google Colab utilizada durante la sesión. Finalmente podrás encontrar todo el contenido del curso en el repositorio de [Github](https://github.com/futurelabmx/omegaUp.py) para cada una de las sesiones. + +## Contacto +Si tienes dudas y/o comentarios sobre la sesión o sobre el curso en general, puedes escribirnos a: + +* [mxfuturelab@gmail.com](mailto://mxfuturelab@gmail.com) para contactar al canal de atención de Future Lab. +* [david.pedroza.segoviano@gmail.com](mailto://david.pedroza.segoviano@gmail.com) para contactar al tutor de esta sesión directamente. diff --git a/Courses/omi-public-course/practice/New-Test-1/.gitattributes b/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/.gitattributes similarity index 100% rename from Courses/omi-public-course/practice/New-Test-1/.gitattributes rename to Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/.gitattributes diff --git a/Courses/omi-public-course/practice/New-Test-1/.gitignore b/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/.gitignore similarity index 100% rename from Courses/omi-public-course/practice/New-Test-1/.gitignore rename to Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/.gitignore diff --git a/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/settings.distrib.json b/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/settings.json b/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/settings.json new file mode 100644 index 0000000..ae86fbc --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "python_4", + "title": "python_4" +} diff --git a/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/solutions/es.markdown b/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/solutions/es.markdown new file mode 100644 index 0000000..f70f10e --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/solutions/es.markdown @@ -0,0 +1 @@ +A diff --git a/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/statements/es.markdown b/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/statements/es.markdown new file mode 100644 index 0000000..561cf50 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4/statements/es.markdown @@ -0,0 +1,17 @@ +En esta sesión se explican que son las estructuras de control de flujo `Python`🐍 y todo lo que podemos hacer con elllas. + +## Material de la Sesión + + +Para ver el *Notebook* en línea, correspondiente a esta sesión, haz click aquí: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ZaidTheJedi/omegaUp.py/blob/master/Semana%2004/Cheatsheet_curso_python.ipynb) + +Si quieres ver las diapositivas utilizadas, haz click aquí: [![Slides](https://img.shields.io/badge/Slides-Google%20Slides-tomato)](https://docs.google.com/presentation/d/e/2PACX-1vSnWUy-7vApWqKdcgNw1Id1vjMcXo6-8H_oTHTv3olGZfE6SCQ5UDZ3OhjNJk7uOTaX0bjCqL4wgTXs/pub?start=false&loop=false&delayms=3000) + +## Contacto + +Si tienes dudas y/o comentarios sobre la sesión o sobre el curso en general, no dudes en escribirnos, estaremos felices de escucharte 😁. Puedes contactarnos en: + +✉️ mxfuturelab@gmail.com para contactar al canal de atención de Future Lab. + +✉️ Zaidthejedi@gmail.com para contactar al tutor de esta sesión directamente. +. diff --git a/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/.gitattributes b/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/.gitignore b/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/settings.distrib.json b/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/settings.json b/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/settings.json new file mode 100644 index 0000000..4992f45 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "python_6", + "title": "python_6" +} diff --git a/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/statements/es.markdown b/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/statements/es.markdown new file mode 100644 index 0000000..d829340 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6/statements/es.markdown @@ -0,0 +1,13 @@ + En esta sesión se explican los conceptos de funciones, argumentos, return y docstring en `Python`🐍 , así mismo se mostrará cómo resolver algunos ejercicios de ejemplo. + + +## Material de la Sesión + + +Puedes encontrar [aquí](https://docs.google.com/presentation/d/1Xj0cb-78QBtliR99lfO6OzDkmLmQ1ILDHN-l4SLtopM/edit?usp=sharing) los slides mostradas en la sesión, que te permitirán entender el funcionamiento de cada una de las partes de las funciones. [Aquí](https://colab.research.google.com/drive/1vQYx7pRBxCzxI2BQ961D7o8EUTpIECf3?usp=sharing) encontraras el _Notebook_ de Google Colab utilizada durante la sesión. Finalmente podrás encontrar todo el contenido del curso en el repositorio de [Github](https://github.com/futurelabmx/omegaUp.py) para cada una de las sesiones. + +## Contacto +Si tienes dudas y/o comentarios sobre la sesión o sobre el curso en general, puedes escribirnos a: + +* [mxfuturelab@gmail.com](mailto://mxfuturelab@gmail.com) para contactar al canal de atención de Future Lab. +* [david.pedroza.segoviano@gmail.com](mailto://david.pedroza.segoviano@gmail.com) para contactar al tutor de esta sesión directamente. diff --git a/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/.gitattributes b/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/.gitignore b/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/settings.distrib.json b/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/settings.json b/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/settings.json new file mode 100644 index 0000000..ffa6ffd --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "python_2", + "title": "python_2" +} diff --git a/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/statements/es.markdown b/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/statements/es.markdown new file mode 100644 index 0000000..15d52f6 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2/statements/es.markdown @@ -0,0 +1,17 @@ + En esta sesión se explican los tipos de datos elementales en `Python`🐍 y las operaciones básicas que se pueden realizar con ellas. También se da una breve explicación de cómo resolver problemas en [OmegaUp](https://omegaup.com/). + +# Material de la Sesión + + + +Para ver el *Notebook* en línea, correspondiente a esta sesión, haz click aquí: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/GabrielMissael/omegaUp.py/blob/master/Semana%2002/Cheat_sheet(referencia).ipynb) + +Si quieres ver las diapositivas utilizadas, haz click aquí: [![Slides](https://img.shields.io/badge/Slides-Google%20Slides-tomato)](https://docs.google.com/presentation/d/e/2PACX-1vRV5W0jXgXUBJQlMlHl3EUJ5ZcVVRp-yPGEZ7JVTG5ma-FFY7-GRJTxRsIRzfuz27UddDncu3hqvP7y/pub?start=true&loop=true&delayms=60000) + +# Contacto + +Si tienes dudas y/o comentarios sobre la sesión o sobre el curso en general, no dudes en escribirnos, estaremos felices de escucharte 😁. Puedes contactarnos en: + +✉️ mxfuturelab@gmail.com para contactar al canal de atención de Future Lab. + +✉️ missaelgabo@gmail.com para contactar al tutor de esta sesión directamente. diff --git a/Courses/Curso-de-Python-FutureLabs/math_python/python_9/.gitattributes b/Courses/Curso-de-Python-FutureLabs/math_python/python_9/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/math_python/python_9/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/Curso-de-Python-FutureLabs/math_python/python_9/.gitignore b/Courses/Curso-de-Python-FutureLabs/math_python/python_9/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/math_python/python_9/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/Curso-de-Python-FutureLabs/math_python/python_9/settings.distrib.json b/Courses/Curso-de-Python-FutureLabs/math_python/python_9/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/math_python/python_9/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/Curso-de-Python-FutureLabs/math_python/python_9/settings.json b/Courses/Curso-de-Python-FutureLabs/math_python/python_9/settings.json new file mode 100644 index 0000000..18f86af --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/math_python/python_9/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "python_9", + "title": "python_9" +} diff --git a/Courses/Curso-de-Python-FutureLabs/math_python/python_9/statements/es.markdown b/Courses/Curso-de-Python-FutureLabs/math_python/python_9/statements/es.markdown new file mode 100644 index 0000000..2df8c0f --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/math_python/python_9/statements/es.markdown @@ -0,0 +1,16 @@ +En esta sesión se explica el módulo math de la librería standard de python. + +## Material de la Sesión +[Liga al video de la sesión](https://www.facebook.com/watch/live/?v=3272249006175561&ref=watch_permalink) + +Para ver el *Notebook* en línea, correspondiente a esta sesión, haz click aquí: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ZaidTheJedi/omegaUp.py/blob/master/Semana%2009/Cheatsheet.ipynb) + +Si quieres ver las diapositivas utilizadas, haz click aquí: [![Slides](https://img.shields.io/badge/Slides-Google%20Slides-tomato)](https://docs.google.com/presentation/d/e/2PACX-1vS6SvAkurNHS61HWbqYbUqGVNwBcR_91Fdoh0LWodyQ61isn8V6ALVJSZFJdb1FRQeXiqz-bBC0xPY-/pub?start=false&loop=false&delayms=60000) + +## Contacto + +Si tienes dudas y/o comentarios sobre la sesión o sobre el curso en general, no dudes en escribirnos, estaremos felices de escucharte 😁. Puedes contactarnos en: + +✉️ mxfuturelab@gmail.com para contactar al canal de atención de Future Lab. + +✉️ zaidthejedi@gmail.com para contactar al tutor de esta sesión directamente. diff --git a/Courses/Curso-de-Python-FutureLabs/objetos/python_7/.gitattributes b/Courses/Curso-de-Python-FutureLabs/objetos/python_7/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/objetos/python_7/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/Curso-de-Python-FutureLabs/objetos/python_7/.gitignore b/Courses/Curso-de-Python-FutureLabs/objetos/python_7/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/objetos/python_7/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/Curso-de-Python-FutureLabs/objetos/python_7/settings.distrib.json b/Courses/Curso-de-Python-FutureLabs/objetos/python_7/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/objetos/python_7/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/Curso-de-Python-FutureLabs/objetos/python_7/settings.json b/Courses/Curso-de-Python-FutureLabs/objetos/python_7/settings.json new file mode 100644 index 0000000..a7c085a --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/objetos/python_7/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "python_7", + "title": "python_7" +} diff --git a/Courses/Curso-de-Python-FutureLabs/objetos/python_7/statements/es.markdown b/Courses/Curso-de-Python-FutureLabs/objetos/python_7/statements/es.markdown new file mode 100644 index 0000000..d31db75 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/objetos/python_7/statements/es.markdown @@ -0,0 +1,17 @@ +[![Slides](https://img.shields.io/badge/Slides-Google%20Slides-tomato)](https://docs.google.com/presentation/d/e/2PACX-1vQ0qHp7IhwMphE5_GCjmylO8x2HM0PY7jp2zkg5NlkV4PXJ1nKaju9K4yuhY87tzaWk9HBCEoTeoFF9/pub?start=false&loop=false&delayms=3000) +[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1p3rHsoDwi0fjJnayACZur4NLyJAibkfz?usp=sharing) + +En esta sesión, hablaremos sobre objetos en Python. Exploraremos la creación de objetos con aplicaciones interesantes utilizando [Google Colab](https://colab.research.google.com). + +## Material de la Sesión +[Liga al video de la sesión.](https://www.facebook.com/177965472243902/videos/581845935808093) + +Puedes encontrar [aquí](https://docs.google.com/presentation/d/e/2PACX-1vQ0qHp7IhwMphE5_GCjmylO8x2HM0PY7jp2zkg5NlkV4PXJ1nKaju9K4yuhY87tzaWk9HBCEoTeoFF9/pub?start=false&loop=false&delayms=3000) las diapositivas mostradas durante la sesión. También puedes hacer click [aquí](https://colab.research.google.com/drive/1p3rHsoDwi0fjJnayACZur4NLyJAibkfz?usp=sharing) para ir a la _Notebook_ de Google Colab utilizada durante esta sesión. + +## Contacto + +Si tienes dudas y/o comentarios sobre la sesión o sobre el curso en general, puedes escribirnos a: + +* [mxfuturelab@gmail.com](mailto:mxfuturelab@gmail.com) para contactar al canal de atención de Future Lab. + +* [ferro@cimat.mx](mailto:ferro@cimat.mx) para contactar al tutor de esta sesión directamente. diff --git a/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/.gitattributes b/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/.gitignore b/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/settings.distrib.json b/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/settings.json b/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/settings.json new file mode 100644 index 0000000..637c0d5 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "python_5", + "title": "python_5" +} diff --git a/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/statements/es.markdown b/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/statements/es.markdown new file mode 100644 index 0000000..15c86d9 --- /dev/null +++ b/Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5/statements/es.markdown @@ -0,0 +1,15 @@ +En esta sesión, veremos un breve repaso de los Strings, para despues revisar las operaciones con Strings y los siguientes métodos: + + - upper() + - lower() + - isupper() + - islower() + - startswith() + - endswith() + - replace() + + +## Material de sesión: + + +La presentación la puedes ver [haciendo click aquí](https://docs.google.com/presentation/d/e/2PACX-1vQC_PUJe1xs84lcbaVQx8MR8psJTHkN8Jeh2ToeaHdkUh_Z1frryExkDY9f5KhQs8hQd50DEI7hNXtE/pub?start=true&loop=false&delayms=3000) y el Notebook [en este link](https://colab.research.google.com/github/futurelabmx/omegaUp.py/blob/master/Semana%2005/Strings_operations_git.ipynb), o puedes descargar la versión alojada en GitHub haciendo [click aquí](https://colab.research.google.com/github/futurelabmx/omegaUp.py/blob/master/Semana%2005/Strings_operations_git.ipynb). diff --git a/Courses/ResolviendoProblemas2021/SP1/Solucion-Tablero-de-Ajedrez/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP1/Solucion-Tablero-de-Ajedrez/settings.distrib.json index c8e0520..f808a81 100644 --- a/Courses/ResolviendoProblemas2021/SP1/Solucion-Tablero-de-Ajedrez/settings.distrib.json +++ b/Courses/ResolviendoProblemas2021/SP1/Solucion-Tablero-de-Ajedrez/settings.distrib.json @@ -9,6 +9,7 @@ }, "validator": { "name": "token", + "group_score_policy": "sum-if-not-zero", "tolerance": 1e-9 } } diff --git a/Courses/ResolviendoProblemas2021/SP1/Solucion-Tablero-de-Ajedrez/settings.json b/Courses/ResolviendoProblemas2021/SP1/Solucion-Tablero-de-Ajedrez/settings.json index 1a31674..2141666 100644 --- a/Courses/ResolviendoProblemas2021/SP1/Solucion-Tablero-de-Ajedrez/settings.json +++ b/Courses/ResolviendoProblemas2021/SP1/Solucion-Tablero-de-Ajedrez/settings.json @@ -10,7 +10,8 @@ "Slow": false, "Validator": { "Name": "token", - "Tolerance": 1e-9 + "Tolerance": 1e-9, + "GroupScorePolicy": "sum-if-not-zero" }, "alias": "Solucion-Tablero-de-Ajedrez", "title": "Solucion-Tablero-de-Ajedrez" diff --git a/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/.gitattributes b/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/.gitignore b/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/settings.json b/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/settings.json new file mode 100644 index 0000000..edbb9c4 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-Elefantes-vs-telarana", + "title": "Solucion-Elefantes-vs-telarana" +} diff --git a/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/statements/es.markdown new file mode 100644 index 0000000..b5030ec --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana/statements/es.markdown @@ -0,0 +1,2 @@ +NOTA: [Aquí puedes encontrar el video](https://youtu.be/phmJDw9wdNs) con una explicación de la solución. + diff --git a/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/.gitattributes b/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/.gitignore b/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/settings.json b/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/settings.json new file mode 100644 index 0000000..cac6745 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-Mintiendo-sobre-las-cif", + "title": "Solucion-Mintiendo-sobre-las-cif" +} diff --git a/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/statements/es.markdown new file mode 100644 index 0000000..2d15cfc --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif/statements/es.markdown @@ -0,0 +1,2 @@ +NOTA: [Aquí puedes encontrar el video](https://youtu.be/FN06Hhm9RME) con una explicación de la solución. + diff --git a/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/.gitattributes b/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/.gitignore b/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/settings.json b/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/settings.json new file mode 100644 index 0000000..bd6906c --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-Baile-de-graduacion", + "title": "Solucion-Baile-de-graduacion" +} diff --git a/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/statements/es.markdown new file mode 100644 index 0000000..8898911 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion/statements/es.markdown @@ -0,0 +1 @@ + diff --git a/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/.gitattributes b/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/.gitignore b/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/settings.json b/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/settings.json new file mode 100644 index 0000000..12c376f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-Giran-que-giran", + "title": "Solucion-Giran-que-giran" +} diff --git a/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/statements/es.markdown new file mode 100644 index 0000000..b7458c9 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran/statements/es.markdown @@ -0,0 +1 @@ +NOTA: [Aquí puedes encontrar el video](https://youtu.be/UMmNckLTB5c) con una explicación de la solución. diff --git a/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/.gitattributes b/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/.gitignore b/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/settings.json b/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/settings.json new file mode 100644 index 0000000..e5e869c --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-horanuncaessuficiente", + "title": "Solucion-horanuncaessuficiente" +} diff --git a/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/statements/es.markdown new file mode 100644 index 0000000..0cc8217 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente/statements/es.markdown @@ -0,0 +1 @@ + diff --git a/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/.gitattributes b/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/.gitignore b/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/settings.json b/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/settings.json new file mode 100644 index 0000000..16604ea --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-La-popularidad-cuenta", + "title": "Solucion-La-popularidad-cuenta" +} diff --git a/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/statements/es.markdown new file mode 100644 index 0000000..c2beb20 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta/statements/es.markdown @@ -0,0 +1 @@ + diff --git a/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/.gitattributes b/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/.gitignore b/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/settings.json b/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/settings.json new file mode 100644 index 0000000..53ebbb8 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-Los-Buenos-Amigos-cpp", + "title": "Solucion-Los-Buenos-Amigos-cpp" +} diff --git a/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/statements/es.markdown new file mode 100644 index 0000000..634c91b --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp/statements/es.markdown @@ -0,0 +1 @@ + diff --git a/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/.gitattributes b/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/.gitignore b/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/settings.json b/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/settings.json new file mode 100644 index 0000000..4c349e1 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-Durante-la-comida", + "title": "Solucion-Durante-la-comida" +} diff --git a/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/statements/es.markdown new file mode 100644 index 0000000..3de3d48 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida/statements/es.markdown @@ -0,0 +1,7 @@ +NOTA: [Aquí puedes encontrar el video](https://youtu.be/0pFh81HIrY0) con una explicación de la solución. + +Para escribir la palabra `'miguel'`, Miguel necesita cada una de las letras `'m'`, `'i'`, `'g'`, `'u'`, `'e'`, `'l'`. Como todas son necesarias y ninguna se repite, la cantidad de veces que pueda escribir la palabra va a depender de cuál de las letras aparece menos veces. + +Para calcular eso, necesitamos llevar la cuenta de cuántas veces aparece cada letra, por ejemplo guardando una variable para cada una de las letras al recorrer cada una de las letras de la sopa. + +Al final, encontramos el mínimo de entre todas las cuentas que guardamos y ese es el resultado. diff --git a/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/.gitattributes b/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/.gitignore b/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/settings.json b/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/settings.json new file mode 100644 index 0000000..c19b942 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-Nacho-el-flojo", + "title": "Solucion-Nacho-el-flojo" +} diff --git a/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/statements/es.markdown new file mode 100644 index 0000000..89b1597 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo/statements/es.markdown @@ -0,0 +1,7 @@ +NOTA: [Aquí puedes encontrar el video](https://youtu.be/BxkldR1LHDU) con una explicación de la solución. + +La tarea consiste en encontrar la respuesta correcta (de entre cuatro posibilidades) para cada ejercicio. Empezamos, entonces por leer la cantidad de ejercicios y repetir la solución esa cantidad de veces. + +Para cada ejercicio, tenemos que encontrar la suma de dos vectores de dos dimensiones. La suma de vectores se hace calculando la suma de cada componente de manera independiente (ver [el video](https://youtu.be/BxkldR1LHDU) de la solución para más detalles). Esto quiere decir que hay que leer `x1`, `y1` y `x2`, `y2` y sumar las componentes `x` y las componentes `y`. + +De ahí hay que encontra cual de las siguientes 4 vectores coinciden con la respuesta que esperamos encontrar. Teniendo el índice de qué vector es el correcto, hay que imprimir la letra inciso correspondiente. diff --git a/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/.gitattributes b/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/.gitignore b/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/settings.json b/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/settings.json new file mode 100644 index 0000000..1270328 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "SolucionTrianguloDePascalNiveles", + "title": "SolucionTrianguloDePascalNiveles" +} diff --git a/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/statements/es.markdown new file mode 100644 index 0000000..39d7046 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles/statements/es.markdown @@ -0,0 +1,2 @@ +NOTA: [Aquí puedes encontrar el video](https://youtu.be/klBofHN1_MA) con una explicación de la solución. + diff --git a/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/.gitattributes b/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/.gitignore b/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/settings.json b/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/settings.json new file mode 100644 index 0000000..ef74015 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-La-risa-en-vacaciones", + "title": "Solucion-La-risa-en-vacaciones" +} diff --git a/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/statements/es.markdown new file mode 100644 index 0000000..92d71ce --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones/statements/es.markdown @@ -0,0 +1,2 @@ +NOTA: [Aquí puedes encontrar el video](https://youtu.be/8J87ECylkA4) con una explicación de la solución. + diff --git a/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/.gitattributes b/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/.gitignore b/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/settings.json b/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/settings.json new file mode 100644 index 0000000..82c7077 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-Parentesis", + "title": "Solucion-Parentesis" +} diff --git a/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/statements/es.markdown new file mode 100644 index 0000000..33b76b7 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis/statements/es.markdown @@ -0,0 +1,2 @@ +NOTA: [Aquí puedes encontrar el video](https://youtu.be/0v3OPlMou8M) con una explicación de la solución. + diff --git a/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/.gitattributes b/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/.gitignore b/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/settings.distrib.json b/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/settings.json b/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/settings.json new file mode 100644 index 0000000..c1fbc13 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-Monito-y-Monita", + "title": "Solucion-Monito-y-Monita" +} diff --git a/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/statements/es.markdown b/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/statements/es.markdown new file mode 100644 index 0000000..4b3771e --- /dev/null +++ b/Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita/statements/es.markdown @@ -0,0 +1,2 @@ +NOTA: [Aquí puedes encontrar el video](https://youtu.be/HsW0bf2WOow) con una explicación de la solución. + diff --git a/Courses/ResolviendoProblemas2021/course_settings.json b/Courses/ResolviendoProblemas2021/course_settings.json deleted file mode 100644 index 5f162e7..0000000 --- a/Courses/ResolviendoProblemas2021/course_settings.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "Resolviendo Problemas en omegaUp 2021", - "description": "Resuelve problemas con el equipo omegaUp, aprende tips sobre concursos de programación y gana premios. \n\nREGLAS: Cada lunes se publicará un nuevo problema, tendrás toda la semana para resolverlo, el viernes subiremos la solución al problema y algunos tips. ", - "objective": "En este curso aprenderás:\n\n* Temas básicos de programación competitiva\n* Tips sobre programaicón competitiva", - "level": "introductory", - "alias": "ResolviendoProblemas2021", - "archived": false, - "school_id": 3170, - "school_name": "omegaUp", - "start_time": 1619938800, - "languages": [ - "c11-gcc", - "c11-clang", - "cpp11-gcc", - "cpp11-clang", - "cpp17-gcc", - "cpp17-clang", - "java", - "py2", - "py3", - "rb", - "cs", - "pas", - "kp", - "kj", - "cat", - "hs", - "lua", - "js" - ], - "finish_time": null, - "is_admin": true, - "is_teaching_assistant": false, - "is_curator": false, - "admission_mode": "public", - "needs_basic_information": false, - "show_scoreboard": true, - "recommended": true, - "requests_user_information": "no", - "unlimited_duration": false, - "student_count": 3601, - "status": "ok", - "_id": "687fbf750b4fc467807147" -} diff --git a/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/.gitattributes b/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/.gitattributes new file mode 100644 index 0000000..5e5a849 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/.gitattributes @@ -0,0 +1 @@ +cases/* -diff -delta -merge -text -crlf diff --git a/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/.gitignore b/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/.gitignore new file mode 100644 index 0000000..9602a2f --- /dev/null +++ b/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/.gitignore @@ -0,0 +1,58 @@ +# OS-specific resources +.DS_Store +Thumbs.db + +# Backup files +*~ +*.bak +*.swp +*.orig + +# Packaged files +*.zip +*.bz2 + +# Karel +*.kx + +# Python +*.pyc + +# IDE files +*.cbp +*.depend +*.layout + +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.hi + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.app + +# libinteractive files +Makefile +libinteractive/ +libinteractive.jar diff --git a/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/settings.distrib.json b/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/settings.distrib.json new file mode 100644 index 0000000..c8e0520 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/settings.distrib.json @@ -0,0 +1,14 @@ +{ + "cases": {}, + "limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "validator": { + "name": "token", + "tolerance": 1e-9 + } +} diff --git a/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/settings.json b/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/settings.json new file mode 100644 index 0000000..c77b428 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/settings.json @@ -0,0 +1,17 @@ +{ + "Cases": [], + "Limits": { + "ExtraWallTime": "0s", + "MemoryLimit": 67108864, + "OutputLimit": 10485760, + "OverallWallTimeLimit": "30s", + "TimeLimit": "1s" + }, + "Slow": false, + "Validator": { + "Name": "token", + "Tolerance": 1e-9 + }, + "alias": "Solucion-Xbox-Live-Points", + "title": "Solucion-Xbox-Live-Points" +} diff --git a/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/statements/es.markdown b/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/statements/es.markdown new file mode 100644 index 0000000..bc51c27 --- /dev/null +++ b/Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points/statements/es.markdown @@ -0,0 +1,2 @@ +NOTA: [Aquí puedes encontrar el video](https://youtu.be/F7hgHoE7fGQ) con una explicación de la solución. + diff --git a/Courses/omi-public-course/course_settings.json b/Courses/omi-public-course/course_settings.json deleted file mode 100644 index 31c43ad..0000000 --- a/Courses/omi-public-course/course_settings.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "OMI Public Course", - "description": "demo description", - "objective": "demo objective", - "level": "introductory", - "alias": "omi-public-course", - "archived": false, - "school_id": 222, - "school_name": "Benito Juarez Garcia", - "start_time": 1742827120, - "languages": [ - "c11-gcc", - "c11-clang", - "cpp11-gcc", - "cpp11-clang", - "cpp17-gcc", - "cpp17-clang", - "cpp20-gcc", - "cpp20-clang", - "java", - "kt", - "py2", - "py3", - "rb", - "cs", - "pas", - "kp", - "kj", - "cat", - "hs", - "lua", - "go", - "rs", - "js" - ], - "finish_time": 1745432999, - "is_admin": true, - "is_teaching_assistant": false, - "is_curator": false, - "admission_mode": "public", - "needs_basic_information": false, - "show_scoreboard": false, - "recommended": false, - "requests_user_information": "no", - "unlimited_duration": false, - "student_count": 1, - "status": "ok", - "_id": "687fbf7ef02b3240940230" -} diff --git a/Courses/omi-public-course/intro/demo-de-objetivo/settings.distrib.json b/Courses/omi-public-course/intro/demo-de-objetivo/settings.distrib.json deleted file mode 100644 index f80ed67..0000000 --- a/Courses/omi-public-course/intro/demo-de-objetivo/settings.distrib.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "cases": {}, - "limits": { - "ExtraWallTime": "0s", - "MemoryLimit": 33554432, - "OutputLimit": 10240, - "OverallWallTimeLimit": "23ms", - "TimeLimit": "1ms" - }, - "validator": { - "name": "token-caseless", - "group_score_policy": "sum-if-not-zero", - "tolerance": 1e-9 - } -} diff --git a/Courses/omi-public-course/intro/demo-de-objetivo/settings.json b/Courses/omi-public-course/intro/demo-de-objetivo/settings.json deleted file mode 100644 index 2270f02..0000000 --- a/Courses/omi-public-course/intro/demo-de-objetivo/settings.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "Cases": [], - "Limits": { - "ExtraWallTime": "0s", - "MemoryLimit": 33554432, - "OutputLimit": 10240, - "OverallWallTimeLimit": "23ms", - "TimeLimit": "1ms" - }, - "Slow": false, - "Validator": { - "Name": "token-caseless", - "Tolerance": 1e-9, - "GroupScorePolicy": "sum-if-not-zero" - }, - "alias": "demo-de-objetivo", - "title": "demo-de-objetivo" -} diff --git a/Courses/omi-public-course/intro/demo-de-objetivo/statements/es.markdown b/Courses/omi-public-course/intro/demo-de-objetivo/statements/es.markdown deleted file mode 100644 index 92faa31..0000000 --- a/Courses/omi-public-course/intro/demo-de-objetivo/statements/es.markdown +++ /dev/null @@ -1,26 +0,0 @@ -Objetivo -========================================== - -hello this is a sample course to deliver a proof of concept for this year's Gsoc 2025 project Public Courses on github. - -I have created a repository which links this course here- -https://github.com/iqbalcodes6602/omi_public_course - -You can submit a PR to this repository to update the changes. Once the pr is merged the changes would reflect in the course.. - - - -As you can see the version of the problem got updated. This was automatically deployed to the course when the pr was merged. - - -![alt text](image.png) - - - -Please try to change anything in this problem in the Intro folder and submit a PR to the repository. - - -I have also added one problem content to this course by the name 'Practice' which has a problem 'Contest-Start' in it. You can try to change the content of this problem and submit a PR to the repository as well. I have myself tried to adding some test cases to this problem, and it was working fine on that. -![alt text](image-1.png) - -sample change diff --git a/Courses/omi-public-course/intro/demo-de-objetivo/statements/image-1.png b/Courses/omi-public-course/intro/demo-de-objetivo/statements/image-1.png deleted file mode 100644 index 3e42649..0000000 Binary files a/Courses/omi-public-course/intro/demo-de-objetivo/statements/image-1.png and /dev/null differ diff --git a/Courses/omi-public-course/intro/demo-de-objetivo/statements/image.png b/Courses/omi-public-course/intro/demo-de-objetivo/statements/image.png deleted file mode 100644 index a931e1d..0000000 Binary files a/Courses/omi-public-course/intro/demo-de-objetivo/statements/image.png and /dev/null differ diff --git a/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.1.in b/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.1.in deleted file mode 100644 index 28ac1ed..0000000 --- a/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.1.in +++ /dev/null @@ -1,5 +0,0 @@ -4 -4 2 5 -3 1 2 -3 3 10 -2000000000 1 2000000000 diff --git a/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.1.out b/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.1.out deleted file mode 100644 index e69de29..0000000 diff --git a/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.2.in b/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.2.in deleted file mode 100644 index 1796b33..0000000 --- a/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.2.in +++ /dev/null @@ -1,11 +0,0 @@ -10 -2000000000 2000000000 2000000000 -2000000000 1 2000000000 -2000000000 1 1999999998 -1999999990 1 2000000000 -2000000000 3 2000000000 -2000000000 2000000000 1999999998 -1 1 1 -99990 10 1000000 -100000 20000 2000000000 -998 1 2000000000 diff --git a/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.2.out b/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.2.out deleted file mode 100644 index e69de29..0000000 diff --git a/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.3.in b/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.3.in deleted file mode 100644 index f3ee07f..0000000 --- a/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.3.in +++ /dev/null @@ -1,2 +0,0 @@ -1 -8627 2 2 diff --git a/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.3.out b/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.3.out deleted file mode 100644 index e69de29..0000000 diff --git a/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.4.in b/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.4.in deleted file mode 100644 index f3ee07f..0000000 --- a/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.4.in +++ /dev/null @@ -1,2 +0,0 @@ -1 -8627 2 2 diff --git a/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.4.out b/Courses/omi-public-course/practice/Contest-Start/cases/sin_grupo.4.out deleted file mode 100644 index e69de29..0000000 diff --git a/Courses/omi-public-course/practice/Contest-Start/settings.distrib.json b/Courses/omi-public-course/practice/Contest-Start/settings.distrib.json deleted file mode 100644 index 1b69d41..0000000 --- a/Courses/omi-public-course/practice/Contest-Start/settings.distrib.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "cases": { - "statement_001": { - "in": "4\n4 2 5\n3 1 2\n3 3 10\n2000000000 1 2000000000", - "out": "5\n3\n3\n1999999999000000000", - "weight": 1 - } - }, - "limits": { - "ExtraWallTime": "0s", - "MemoryLimit": 33554432, - "OutputLimit": 10240, - "OverallWallTimeLimit": "23.423s", - "TimeLimit": "1s" - }, - "validator": { - "name": "token-caseless", - "group_score_policy": "sum-if-not-zero", - "tolerance": 1e-9 - } -} diff --git a/Courses/omi-public-course/practice/Contest-Start/settings.json b/Courses/omi-public-course/practice/Contest-Start/settings.json deleted file mode 100644 index eef36e2..0000000 --- a/Courses/omi-public-course/practice/Contest-Start/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "Cases": [ - { - "Cases": [ - { - "Name": "sin_grupo.1", - "Weight": 1 - }, - { - "Name": "sin_grupo.2", - "Weight": 1 - }, - { - "Name": "sin_grupo.3", - "Weight": 1 - }, - { - "Name": "sin_grupo.4", - "Weight": 1 - } - ], - "Name": "sin_grupo" - } - ], - "Limits": { - "ExtraWallTime": "0s", - "MemoryLimit": 33554432, - "OutputLimit": 10240, - "OverallWallTimeLimit": "23.423s", - "TimeLimit": "1s" - }, - "Slow": false, - "Validator": { - "Name": "token-caseless", - "Tolerance": 1e-9, - "GroupScorePolicy": "sum-if-not-zero" - }, - "alias": "Contest-Start", - "title": "Contest-Start" -} diff --git a/Courses/omi-public-course/practice/Contest-Start/solutions/es.markdown b/Courses/omi-public-course/practice/Contest-Start/solutions/es.markdown deleted file mode 100644 index 9858bf3..0000000 --- a/Courses/omi-public-course/practice/Contest-Start/solutions/es.markdown +++ /dev/null @@ -1 +0,0 @@ -Escribe aquí la solución de tu problema diff --git a/Courses/omi-public-course/practice/Contest-Start/statements/es.markdown b/Courses/omi-public-course/practice/Contest-Start/statements/es.markdown deleted file mode 100644 index 0cce341..0000000 --- a/Courses/omi-public-course/practice/Contest-Start/statements/es.markdown +++ /dev/null @@ -1,67 +0,0 @@ -# Contest Start - -There are n - people participating in some contest, they start participating in x - minutes intervals. That means the first participant starts at time 0, the second participant starts at time x, the third — at time 2⋅x, and so on. - -Duration of contest is t minutes for each participant, so the first participant finishes the contest at time t, the second — at time t+x, and so on. When a participant finishes the contest, their dissatisfaction equals to the number of participants that started the contest (or starting it now), but haven't yet finished it. - -Determine the sum of dissatisfaction of all participants. new update 60 - -# Input -The first line contains a single integer k (1≤k≤1000) — the number of test cases. - -Each of the next k lines contains three integers n, x, t (1≤n,x,t≤2⋅109) — the number of participants, the start interval and the contest duration. - -# Output -Print k lines, in the i-th line print the total dissatisfaction of participants in the i-th test case. - -# Ejemplo - -||input -4 -4 2 5 -3 1 2 -3 3 10 -2000000000 1 2000000000 -||output -5 -3 -3 -1999999999000000000 -||description -In the first example the first participant starts at 0 - and finishes at time 5 -. By that time the second and the third participants start, so the dissatisfaction of the first participant is 2 -. - -The second participant starts at time 2 - and finishes at time 7 -. By that time the third the fourth participants start, so the dissatisfaction of the second participant is 2 -. - -The third participant starts at 4 - and finishes at 9 -. By that time the fourth participant starts, so the dissatisfaction of the third participant is 1 -. - -The fourth participant starts at 6 - and finishes at 11 -. By time 11 - everyone finishes the contest, so the dissatisfaction of the fourth participant is 0 -. - -In the second example the first participant starts at 0 - and finishes at time 2 -. By that time the second participants starts, and the third starts at exactly time 2 -. So the dissatisfaction of the first participant is 2 -. - -The second participant starts at time 1 - and finishes at time 3 -. At that time the third participant is solving the contest. -||end - - -# Boundaries -sdsfasdas diff --git a/Courses/omi-public-course/practice/New-Test-1/cases/easy.00.in b/Courses/omi-public-course/practice/New-Test-1/cases/easy.00.in deleted file mode 100644 index 8d04f96..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/cases/easy.00.in +++ /dev/null @@ -1 +0,0 @@ -1 2 diff --git a/Courses/omi-public-course/practice/New-Test-1/cases/easy.00.out b/Courses/omi-public-course/practice/New-Test-1/cases/easy.00.out deleted file mode 100644 index 00750ed..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/cases/easy.00.out +++ /dev/null @@ -1 +0,0 @@ -3 diff --git a/Courses/omi-public-course/practice/New-Test-1/cases/easy.01.in b/Courses/omi-public-course/practice/New-Test-1/cases/easy.01.in deleted file mode 100644 index 654d526..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/cases/easy.01.in +++ /dev/null @@ -1 +0,0 @@ -2 3 diff --git a/Courses/omi-public-course/practice/New-Test-1/cases/easy.01.out b/Courses/omi-public-course/practice/New-Test-1/cases/easy.01.out deleted file mode 100644 index 7ed6ff8..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/cases/easy.01.out +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/Courses/omi-public-course/practice/New-Test-1/cases/medium.00.in b/Courses/omi-public-course/practice/New-Test-1/cases/medium.00.in deleted file mode 100644 index 10ec153..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/cases/medium.00.in +++ /dev/null @@ -1 +0,0 @@ -100 200 diff --git a/Courses/omi-public-course/practice/New-Test-1/cases/medium.00.out b/Courses/omi-public-course/practice/New-Test-1/cases/medium.00.out deleted file mode 100644 index 697cb3a..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/cases/medium.00.out +++ /dev/null @@ -1 +0,0 @@ -300 diff --git a/Courses/omi-public-course/practice/New-Test-1/cases/medium.01.in b/Courses/omi-public-course/practice/New-Test-1/cases/medium.01.in deleted file mode 100644 index fbba5e5..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/cases/medium.01.in +++ /dev/null @@ -1 +0,0 @@ -1234 5678 diff --git a/Courses/omi-public-course/practice/New-Test-1/cases/medium.01.out b/Courses/omi-public-course/practice/New-Test-1/cases/medium.01.out deleted file mode 100644 index b2b590d..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/cases/medium.01.out +++ /dev/null @@ -1 +0,0 @@ -6912 diff --git a/Courses/omi-public-course/practice/New-Test-1/cases/sample.in b/Courses/omi-public-course/practice/New-Test-1/cases/sample.in deleted file mode 100644 index 8d04f96..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/cases/sample.in +++ /dev/null @@ -1 +0,0 @@ -1 2 diff --git a/Courses/omi-public-course/practice/New-Test-1/cases/sample.out b/Courses/omi-public-course/practice/New-Test-1/cases/sample.out deleted file mode 100644 index 00750ed..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/cases/sample.out +++ /dev/null @@ -1 +0,0 @@ -3 diff --git a/Courses/omi-public-course/practice/New-Test-1/examples/sample.in b/Courses/omi-public-course/practice/New-Test-1/examples/sample.in deleted file mode 100644 index 8d04f96..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/examples/sample.in +++ /dev/null @@ -1 +0,0 @@ -1 2 diff --git a/Courses/omi-public-course/practice/New-Test-1/examples/sample.out b/Courses/omi-public-course/practice/New-Test-1/examples/sample.out deleted file mode 100644 index 00750ed..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/examples/sample.out +++ /dev/null @@ -1 +0,0 @@ -3 diff --git a/Courses/omi-public-course/practice/New-Test-1/settings.distrib.json b/Courses/omi-public-course/practice/New-Test-1/settings.distrib.json deleted file mode 100644 index 223d082..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/settings.distrib.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "cases": { - "sample": { - "in": "1 2\n", - "out": "3\n", - "weight": 1 - } - }, - "limits": { - "ExtraWallTime": "0s", - "MemoryLimit": 33554432, - "OutputLimit": 10240, - "OverallWallTimeLimit": "1s", - "TimeLimit": "1s" - }, - "validator": { - "name": "token-numeric", - "group_score_policy": "sum-if-not-zero", - "tolerance": 1e-9 - } -} diff --git a/Courses/omi-public-course/practice/New-Test-1/settings.json b/Courses/omi-public-course/practice/New-Test-1/settings.json deleted file mode 100644 index bd2d1ff..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/settings.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "Cases": [ - { - "Cases": [ - { - "Name": "easy.00", - "Weight": 1 - }, - { - "Name": "easy.01", - "Weight": 1 - } - ], - "Name": "easy" - }, - { - "Cases": [ - { - "Name": "medium.00", - "Weight": 1 - }, - { - "Name": "medium.01", - "Weight": 1 - } - ], - "Name": "medium" - }, - { - "Cases": [ - { - "Name": "sample", - "Weight": 1 - } - ], - "Name": "sample" - } - ], - "Limits": { - "ExtraWallTime": "0s", - "MemoryLimit": 33554432, - "OutputLimit": 10240, - "OverallWallTimeLimit": "1s", - "TimeLimit": "1s" - }, - "Slow": false, - "Validator": { - "Name": "token-numeric", - "Tolerance": 1e-9, - "GroupScorePolicy": "sum-if-not-zero" - }, - "alias": "New-Test-1", - "title": "New-Test-1" -} diff --git a/Courses/omi-public-course/practice/New-Test-1/solutions/en.markdown b/Courses/omi-public-course/practice/New-Test-1/solutions/en.markdown deleted file mode 100644 index e3645be..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/solutions/en.markdown +++ /dev/null @@ -1,5 +0,0 @@ -To solve this problem, you just needed to mind `long long`s. - -```python -print(sum(int(x) for x in raw_input().strip().split())) -``` diff --git a/Courses/omi-public-course/practice/New-Test-1/solutions/es.markdown b/Courses/omi-public-course/practice/New-Test-1/solutions/es.markdown deleted file mode 100644 index ad1304f..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/solutions/es.markdown +++ /dev/null @@ -1,5 +0,0 @@ -Para resolver este problema, sólo tienes que tener cuidado de los `long long`. - -```python -print(sum(int(x) for x in raw_input().strip().split())) -``` diff --git a/Courses/omi-public-course/practice/New-Test-1/statements/en.markdown b/Courses/omi-public-course/practice/New-Test-1/statements/en.markdown deleted file mode 100644 index 31e0f16..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/statements/en.markdown +++ /dev/null @@ -1,13 +0,0 @@ -# Input - -Two numbers, $a$ and $b$. update 1 - -# Output - -The sum of both numbers. - -# Example - -||examplefile -sample -||end diff --git a/Courses/omi-public-course/practice/New-Test-1/statements/es.markdown b/Courses/omi-public-course/practice/New-Test-1/statements/es.markdown deleted file mode 100644 index 675e794..0000000 --- a/Courses/omi-public-course/practice/New-Test-1/statements/es.markdown +++ /dev/null @@ -1,13 +0,0 @@ -# Entrada - -Dos números, $a$ y $b$. - -# Salida - -La suma de ambos números. - -# Ejemplo - -||examplefile -sample -||end diff --git a/DOCUMENTATION.md b/DOCUMENTATION.md index 78c232e..3d155de 100644 --- a/DOCUMENTATION.md +++ b/DOCUMENTATION.md @@ -90,7 +90,11 @@ pipenv install ``` ## Syncing Content from omegaup.com to this repository -The github actions are configured to push the latest content whenever some changes are pushed in the `sync-course` branch only +The github actions are configured to push the latest content whenever some changes are pushed in the `sync-course` branch only. + +**Adding the required courses**: +In the ```download_and_sync_courses.py``` file, add the course to the existing list of courese in ```COURSE_ALIASES``` array. + **For Admin:** If a admin want to sync the content from omegaup.com to course github repo, they can run the following commands: @@ -98,11 +102,11 @@ If a admin want to sync the content from omegaup.com to course github repo, they ``` git checkout sync-course ``` -2. Reset the branch with the main branch: +1. Reset the branch with the main branch: ``` git reset --hard origin/main ``` -3. Push the changes +1. Push the changes ``` git push --force ``` diff --git a/README.md b/README.md index 3492b8b..9ead7fb 100644 --- a/README.md +++ b/README.md @@ -5,14 +5,14 @@ Contributors can suggest improvements via **pull requests**, and GitHub Actions --- -## 📖 Documentation +## Documentation A complete guide is available in [Comprehensive Documentation](./DOCUMENTATION.md). It covers setup, workflows, contribution guidelines, and detailed instructions. --- -## 📂 Repository Overview +## Repository Overview - `.github/` → Workflows for CI, syncing, and modifying assignments - `Courses/` → Public course content (courses, assignments, problems) @@ -22,7 +22,7 @@ It covers setup, workflows, contribution guidelines, and detailed instructions. --- -## 🔑 Key Sections +## Key Sections 1. [Getting Started](./DOCUMENTATION.md#getting-started) 2. [Syncing Content](./DOCUMENTATION.md#syncing-content-from-omegaupcom-to-this-repository) @@ -33,6 +33,6 @@ It covers setup, workflows, contribution guidelines, and detailed instructions. --- -## 📜 License +## License This project is licensed under the [License](LICENSE). diff --git a/problems.json b/problems.json index 0b6fe80..15e9b6a 100644 --- a/problems.json +++ b/problems.json @@ -4,13 +4,70 @@ "path": "Courses/ResolviendoProblemas2021/SP1/Solucion-Tablero-de-Ajedrez" }, { - "path": "Courses/omi-public-course/intro/demo-de-objetivo" + "path": "Courses/ResolviendoProblemas2021/SP2/Solucion-Durante-la-comida" }, { - "path": "Courses/omi-public-course/practice/Contest-Start" + "path": "Courses/ResolviendoProblemas2021/SP3/Solucion-Nacho-el-flojo" }, { - "path": "Courses/omi-public-course/practice/New-Test-1" + "path": "Courses/ResolviendoProblemas2021/solucion-prob-4/Solucion-Xbox-Live-Points" + }, + { + "path": "Courses/ResolviendoProblemas2021/SP5/SolucionTrianguloDePascalNiveles" + }, + { + "path": "Courses/ResolviendoProblemas2021/SP7/Solucion-La-risa-en-vacaciones" + }, + { + "path": "Courses/ResolviendoProblemas2021/SP8/Solucion-Parentesis" + }, + { + "path": "Courses/ResolviendoProblemas2021/SP9/Solucion-Monito-y-Monita" + }, + { + "path": "Courses/ResolviendoProblemas2021/SP10/Solucion-Elefantes-vs-telarana" + }, + { + "path": "Courses/ResolviendoProblemas2021/SP11/Solucion-Mintiendo-sobre-las-cif" + }, + { + "path": "Courses/ResolviendoProblemas2021/SP12/Solucion-Baile-de-graduacion" + }, + { + "path": "Courses/ResolviendoProblemas2021/SP13/Solucion-Giran-que-giran" + }, + { + "path": "Courses/ResolviendoProblemas2021/SP14/Solucion-horanuncaessuficiente" + }, + { + "path": "Courses/ResolviendoProblemas2021/SP15/Solucion-La-popularidad-cuenta" + }, + { + "path": "Courses/ResolviendoProblemas2021/SP16/Solucion-Los-Buenos-Amigos-cpp" + }, + { + "path": "Courses/Curso-de-Python-FutureLabs/intro_y_variables/python_2" + }, + { + "path": "Courses/Curso-de-Python-FutureLabs/colecciones_de_datos/python_3" + }, + { + "path": "Courses/Curso-de-Python-FutureLabs/control_de_flujo/python_4" + }, + { + "path": "Courses/Curso-de-Python-FutureLabs/operaciones_con_strings/python_5" + }, + { + "path": "Courses/Curso-de-Python-FutureLabs/funciones_en_python/python_6" + }, + { + "path": "Courses/Curso-de-Python-FutureLabs/objetos/python_7" + }, + { + "path": "Courses/Curso-de-Python-FutureLabs/archivos_en_python/python_8" + }, + { + "path": "Courses/Curso-de-Python-FutureLabs/math_python/python_9" } ] } diff --git a/utils/download_and_sync_courses.py b/utils/download_and_sync_courses.py index 5844921..1fc5e98 100644 --- a/utils/download_and_sync_courses.py +++ b/utils/download_and_sync_courses.py @@ -24,7 +24,7 @@ # 👇 Add your course aliases here COURSE_ALIASES = [ "ResolviendoProblemas2021", - "omi-public-course" + "Curso-de-Python-FutureLabs" ] BASE_COURSE_FOLDER = os.path.abspath(