Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/waldohidalgo/rutas_code_chef
Repositorio con el código de ejercicios y proyectos de diversas rutas completadas en CodeChef
https://github.com/waldohidalgo/rutas_code_chef
codechef codechef-solutions
Last synced: about 1 month ago
JSON representation
Repositorio con el código de ejercicios y proyectos de diversas rutas completadas en CodeChef
- Host: GitHub
- URL: https://github.com/waldohidalgo/rutas_code_chef
- Owner: waldohidalgo
- Created: 2024-08-10T17:52:43.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-20T23:37:35.000Z (5 months ago)
- Last Synced: 2024-08-21T01:16:18.710Z (5 months ago)
- Topics: codechef, codechef-solutions
- Language: Python
- Homepage:
- Size: 62.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ejercicios y Proyectos Realizados para Codechef
Repositorio que contiene los ejercicios y proyectos requeridos para diversas rutas de aprendizaje que voy realizando en el tiempo. Subo todo lo realizado una vez que obtengo cada certificado.
## Tabla de Contenido
- [Ejercicios y Proyectos Realizados para Codechef](#ejercicios-y-proyectos-realizados-para-codechef)
- [Tabla de Contenido](#tabla-de-contenido)
- [Rutas Finalizadas](#rutas-finalizadas)
- [Linked List](#linked-list)
- [Certificado](#certificado)
- [OOPS Concepts in Python](#oops-concepts-in-python)
- [Certificado](#certificado-1)
- [2D Array / Matrices](#2d-array--matrices)
- [Ejercicios Resueltos](#ejercicios-resueltos)
- [Certificado](#certificado-2)
- [Prefix Sum Problems](#prefix-sum-problems)
- [Ejercicios Resueltos](#ejercicios-resueltos-1)
- [Certificado](#certificado-3)
- [Combinatorics Problems](#combinatorics-problems)
- [Ejercicios Resueltos](#ejercicios-resueltos-2)
- [Certificado](#certificado-4)## Rutas Finalizadas
### Linked List
En esta ruta se ejercitan linked list simples y dobles con punteros en el head y/o tail.
#### Certificado
![Certificado Linked List](./LinkedList/certificado-Linked%20Lists.webp)
### OOPS Concepts in Python
En la ruta se ejercitan conceptos como clases, clases abstractas, métodos estáticos, composition, atributos privados, protegidos y públicos, multithreads, handle files y generics.
#### Certificado
![Certificado OOPS Concepts in Python](./ObjectPrinciples/OOPS%20Concepts%20in%20Python%20Certificate.webp)
### 2D Array / Matrices
Se practican conceptos como reducción de tiempo de complejidad de algoritmos, implementación de breadth first search algorithm, depth first search algorithm, árboles binarios, dynamic programming entre otros junto con resolver todos los ejercicios de practica siguientes (más abajo muestro el código solo de los ejercicios resultos de dificultad Hard el resto de soluciones se encuentra en el repositorio en la carpeta Matrix):
#### Ejercicios Resueltos
1-Add Two Matrices
2-Zig-zag traversal
3-Upside Down Matrix
4-Sum of Diagonals
5-Count Negative Numbers
6-Multiplication of Two Matrices
7-Valid Matrix Sum
8-Sort Matrix Diagonally
```py
m,n=map(int,input().split())
matrix=[]
for i in range(m):
matrix.append(list(map(int,input().split())))def sortDiagonally(matrix):
for k in range(n):
i=0
j=k
temp=[]
while i0 and maxValues[1]>0 :
counts=[0,0]
for k in range(2):
while counts[k]=0 and matrix[i-1][j]==1:
matrix[i-1][j]=2
q.append((i-1,j))if j-1>=0 and matrix[i][j-1]==1:
matrix[i][j-1]=2
q.append((i,j-1))time+=1
return time-1
q=deque()for i in range(n):
for j in range(m):
if matrix[i][j]==2:
q.append((i,j))minRotting=bfs(q,matrix)
for i in range(n):
for j in range(m):
if matrix[i][j]==1:
minRotting=-1
breakprint(minRotting)
```18-Search In Matrix
19-Distance to Nearest 0 (Hard)
```py
from collections import dequen,m=map(int,input().split())
matrix=[list(map(int,input().split())) for _ in range(n)]aux=[[float('inf')]*m for _ in range(n)]
queue=deque()
for i in range(n):
for j in range(m):
if matrix[i][j]==0:
aux[i][j]=0
queue.append((i,j))while queue:
i,j=queue.popleft()if i+1aux[i][j]+1:
aux[i+1][j]=aux[i][j]+1
queue.append((i+1,j))if j+1aux[i][j]+1:
aux[i][j+1]=aux[i][j]+1
queue.append((i,j+1))if i-1>=0 and aux[i-1][j]>aux[i][j]+1:
aux[i-1][j]=aux[i][j]+1
queue.append((i-1,j))if j-1>=0 and aux[i][j-1]>aux[i][j]+1:
aux[i][j-1]=aux[i][j]+1
queue.append((i,j-1))for i in range(n):
for j in range(m):
print(aux[i][j],end=" ")
print()
```20-Median in Matrix
21-Spiral rotation
#### Certificado
![2D Array / Matrices CodeChef Certificate](./Matrix/2D_array_matrices_certificate.webp)
### Prefix Sum Problems
Se implementan arrays de operaciones prefix o suffix precalculadas con el objetivo de reducir la complejidad temporal de los algoritmos, a cambio de un incremento en la complejidad espacial. Esta técnica optimiza el rendimiento al evitar la repetición de cálculos sobre los mismos datos.
#### Ejercicios Resueltos
En el siguiente [README.md](./PrefixSum/README.md) explico el enfoque de cada solución a cada problema siguiente:
1-Creating Prefix Array
2-Optimization Using Prefix Array
3-Good subarrays
4-Counting Pretty Numbers
5-Little Chef and Sums
6-Good Subarrays 2
7-Suffix Arrays
8-Mystical Numbers
9-Optimal Denomination
10-Binod
11-Rectangular Queries
12-Again XOR problem
13-Segmentation Fault
14-Triplets Min
#### Certificado
![Prefix Sum Certificado](./PrefixSum/Prefix_Sum_Problems_Certificate.webp)
### Combinatorics Problems
Se implementan técnicas de conteo vía agrupaciones e implementación posterior en código.
#### Ejercicios Resueltos
En el siguiente [README.md](./Combinatorics/README.md) se encuentra la explicación a los ejercicios más interesantes y relevantes realizados siguientes:
1- Fruit Basket
2- Divisibility Problem
3- Word Counting
4-Permutation Subsequence
5-Distance Coloring
6-Robot Movings
7-Marbles
#### Certificado
![Combinatorics Problems Certificado](./Combinatorics/Combinatorics_Certificate.webp)