Sunteți pe pagina 1din 13

Comunidad de

PROGRAMACIÓN COMPETITIVA
Comunidad de
PROGRAMACIÓN COMPETITIVA
Comunidad de
PROGRAMACIÓN COMPETITIVA

A - Relational Operator

1. Comparar los 2 números a y b

2. Si a > b entonces imprimir ‘>’

3. Sino si a < b entonces imprimir ‘<’

4. Sino imprimir ‘=’

Complejidad: O (1)
Comunidad de
PROGRAMACIÓN COMPETITIVA

B - Event Planning

1. Resultado iniciado con INF

2. 𝑅𝑒𝑠𝑢𝑙𝑡𝑎𝑑𝑜 = Min 𝑅𝑒𝑠𝑢𝑙𝑡𝑎𝑑𝑜, 𝑁 ∗ 𝑃𝑖 , ∀ (𝑖, 𝑗) 1 ≤ 𝑖 ≤ 𝐻 𝑦 1 ≤ 𝑗 ≤ 𝑊 ∶

𝑎𝑖𝑗 ≥ 𝑁 𝑦 𝐵 − 𝑁 ∗ 𝑃𝑖 ≥ 0

3. Si Resultado ≥ INF, entonces imprimir ‘stay home’

4. Sino imprimir Resultado

Complejidad: O (H * W)
Comunidad de
PROGRAMACIÓN COMPETITIVA

C – The Snail

1. Fatiga = F * U / 100.0
2. Altura y Dias iniciado en 0
3. Mientras 0 <= Altura y Altura <= H, hacer
4. Incrementamos Dias con 1
5. U = Max(0, U)
6. Incrementamos Altura con U
7. Si Altura > H ir a (11)
8. Disminuimos Altura con D
9. Disminuimos U con Fatiga
10. Ir a (3)
11. Si Altura < 0 entonces imprimir ‘failure on day ’,
Dias
12. Sino imprimir ‘success on day ’, Dias

Complejidad: O (H)
Comunidad de
PROGRAMACIÓN COMPETITIVA

D - Jollo
1. Sea PA = {A, B, C} y PB = {X, Y}
2. 𝐿𝑖𝑏𝑟𝑒𝑖 = 1 , ∀ 𝑖 1 ≤ i ≤ 52
3. 𝐿𝑖𝑏𝑟𝑒𝑖 = 0 , 𝑠𝑖 𝑖 ∈ 𝑃𝐴
4. 𝐿𝑖𝑏𝑟𝑒𝑖 = 0 , 𝑠𝑖 𝑖 ∈ 𝑃𝐵
5. Ordenar PA y PB
6. Card inicia con 53
7. 𝑆𝑖 𝑃𝐵1 > 𝑃𝐴3 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠
8. Card = i, ∀ 𝑖 1 ≤ 𝑖 ≤ 52 𝑦 𝑖 < 𝐶𝑎𝑟𝑑 ∶ 𝐿𝑖𝑏𝑟𝑒𝑖 𝑒𝑠 1
9. Sino 𝑆𝑖 𝑃𝐵2 > 𝑃𝐴3 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠
10. Card = i, ∀ 𝑖 𝑃𝐴3 < 𝑖 ≤ 52 𝑦 𝑖 < 𝑅𝑒𝑠 ∶ 𝐿𝑖𝑏𝑟𝑒𝑖 𝑒𝑠 1
11. Sino 𝑆𝑖 𝑃𝐵1 > 𝑃𝐴2 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠
12. Card = i, ∀ 𝑖 𝑃𝐴2 < 𝑖 ≤ 52 𝑦 𝑖 < 𝑅𝑒𝑠 ∶ 𝐿𝑖𝑏𝑟𝑒𝑖 𝑒𝑠 1
13. Si Card es 53 entonces imprimir -1
14. Sino imprimir Card

Complejidad: O (1)
Comunidad de
PROGRAMACIÓN COMPETITIVA

E - Minesweeper
1. 𝑆𝑒𝑎 𝑀𝑛 ∗ 𝑚 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝑙𝑎𝑠 𝑚𝑖𝑛𝑎𝑠.
2. Sea dx = {1, 1, 1, 0, 0, -1, -1, -1}
3. Sea dy = {1, -1, 0, 1, -1, 0, 1, -1}
4. ∀ 𝑖, 𝑗 1 ≤ i ≤ n y 1 ≤ j ≤ m ∶
5. 𝑆𝑖 𝑀𝑖 𝑗 <> ′ ∗ ′ 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠
6. 𝑆=0
7. ∀𝑘1≤ 𝑘 ≤8 ∶
8. 𝑥 = 𝑖 + 𝑑𝑥𝑘
9. 𝑦 = 𝑗 + 𝑑𝑦𝑘
10. 𝑆𝑖 1 ≤ 𝑥 ≤ 𝑛 𝑦 1 ≤ 𝑦 ≤ 𝑚 𝑦 𝑀𝑥 𝑦 𝑒𝑠 ′ ∗ ′ 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠
11. 𝐼𝑛𝑐𝑟𝑒𝑚𝑒𝑛𝑡𝑎𝑚𝑜𝑠 𝑆 𝑒𝑛 1
12. Imprimir S
13. sino
14. Imprimir *

Complejidad: O (n * m)
Comunidad de
PROGRAMACIÓN COMPETITIVA

F - Palindromes
1. Sea S1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789“
2. Sea S2 = "A 3 HIL JM O 2TUVWXY51SE Z 8 "
3. 𝑀𝑎𝑝𝑎𝑆1𝑖 = 𝑆2𝑖 , ∀ 𝑖 1 ≤ 𝑖 ≤ 𝑆1

4. Pal y Mir inicia con 1


5. N = 𝐶𝑎𝑑
6. Si 𝐶𝑎𝑑𝑖 <> 𝐶𝑎𝑑𝑁−𝑖 entonces
𝑁
7. Pal = 0 ∀𝑖 1≤𝑖 ≤ 2
8. Si 𝐶𝑎𝑑𝑁−𝑖 <> 𝑀𝐶𝑎𝑑𝑖 entonces
9. Mir = 0
10. Si Pal y Mir entonces es ‘Mirrored Palindrome’
11. Sino si Pal y no Mir entonces ‘Regular Palindrome’
12. Sino si no Pal y Mir entonces ‘Mirrored String’
13. Sino ‘No es Palindrome’

Complejidad: O (N)
Comunidad de
PROGRAMACIÓN COMPETITIVA

G – Ananagrams
1. Crear un diccionario de datos W de la forma
: <clave, (palabra, frecuencia)>, donde
clave es palabra en minúsculas y ordenadas sus letras,
palabra es lo ingresado y
frecuencia es la cantidad de veces que clave se repite.
2. R = {}
3. ∀𝑠 ∈𝑊 ∶
4. Si frecuencia de s 1 entonces
5. Agregamos palabra de s a R
6. Ordenamos R y lo imprimimos

Complejidad: 𝑂( 𝑊 )
Comunidad de
PROGRAMACIÓN COMPETITIVA

H – Beat the Spread!


𝑠 −𝑑
1. 𝑦= 2
2. 𝑥 =𝑠 −𝑦
3. Si x + y es S y 𝑥 − 𝑦 𝑒𝑠 𝑑 entonces
4. Imprimir Max(x, y) y Min(x, y)
5. Sino
6. Imprimir ‘impossible’

Complejidad: O (1)
Comunidad de
PROGRAMACIÓN COMPETITIVA

I - Clock Hands

1. g = 30 ∗ ℎ − 5.5 ∗ 𝑚

2. 𝐺𝑟𝑎𝑑𝑜ℎ𝑚 = 𝑔, 𝑠𝑖 𝑔 ≤ 180 ∀ (ℎ, 𝑚) 1 ≤ ℎ ≤ 12 𝑦 0 ≤ 𝑚 < 60

3. 𝐺𝑟𝑎𝑑𝑜ℎ𝑚 = 360 − 𝑔, 𝑠𝑖 𝑔 > 180

4. Imprimir 𝐺𝑟𝑎𝑑𝑜ℎ𝑚

Complejidad: O (h * m) en la construcción y O (1) cada consulta


Comunidad de
PROGRAMACIÓN COMPETITIVA

J – Cost Cutting

1. Medio = σ3𝑖=1 𝑆𝑖 − Min S − Max S

2. Imprimir Medio

Complejidad: O (1)
Comunidad de
PROGRAMACIÓN COMPETITIVA

S-ar putea să vă placă și