Debido a juegos de datos incorrectos para el problema C de la ronda # 32, el contest MOG Round #32 será unrated. Ya se corrigieron los juegos de datos del problema y se recalificaron los envios del mismo ( ranking ). Lamentamos muchísimo lo ocurrido, trabajaremos más fuerte para que no vuelva a suceder.
Nota adicional : El problema C del concurso llevaba tiempo en nuestro problemset y decidimos ponerlo ahora. Los JDs estaban incorrectos debido al mal uso de la funcion random.randint(a, b) en python que devuelve un entero en el intervalo cerrado [a, b] . El generador usado hacía random.randint(1, n + 1) .
Esperamos que participe en la próxima ronda que será rated y pronto.
Soluciones
A - Cake
Clasificación
Sorting, Greedy
Ordenar de menor a mayor e ir formando la pila de arriba hacia abajo.
Código
122301
B - Tablero
Clasificación
AdHoc
Mientras exista una fila o una columna que sume menor que $0$, multiplicarla por $-1$. En cada paso la suma de la matriz se incrementa en una cantidad positiva, por tanto dicho método converge. Como la matriz es pequeña podemos repetir este proceso hasta obtener la solución.
Código
122302
C - Permutando Secuencias
Clasificación
Math, Chinese remainder theorem
Código
122303
D - Elementos consecutivos
Clasificación
Sorting, Easy
Ordenar, eliminar los números repetidos y buscar la subcadena de números consecutivos más grande.
Código
122304
E - Máquina de caramelos
Clasificación
Binary Search
Código
122305
F - Fábrica de circunferencias
Clasificación
Geometry
Para cada par de puntos $(a, b)$ que no compartan la misma $x$ trazamos la mediatriz y buscamos el punto $p$ donde corta al eje $X$. Nótese que para todo punto seleccionado a la izquierda de $p$, $a$ mantendrá el mismo orden relativo con respecto a $b$ en todos los órdenes válidos. Análogamente sucede para todo punto seleccionado a la derecha de $p$. Luego, $p$ define un orden para $a$ y $b$, uno hacia la izquierda y otro hacia la derecha. Esto lo hacemos para todo par de puntos. Al final, el eje $X$ quedará divido por $k$ puntos diferentes. Estos $k$ puntos definen $k + 1$ segmentos sobre $X$. Cualquier punto dentro de un segmento definirá un único orden en la manera de crecer las circunferencias. Por lo tanto la solución será $k + 1$.
|
|
Sample # 1 | Sample # 2 |
Código
122306
G - Día de Acción de Gracias
Clasificación
Brute Force, Easy
Código
122307
El link de la solucion del problema A te envia para la solucion del problema G
ya abren muchisimas gracias.
Disculpen mi ingorancia , pero alguien me podria decir que es aplicar una secuencia a otra?
los link de code no me abren
me dio Compilation Error el G , utilizando librerias que he usado en el COJ
Creo que se deberia implementar una forma para solicitar "clarifications" en el sitio. Si durante un contest un usuario tiene duda o cree que algo no es correcto no tiene forma de hacerselo saber al administrador.
en el problema F , si existiera un punto (X , 0) tal que la distancia de todos los puntos N a el punto (X , 0) es la misma entonces la cantidad de ordenes no seria N! ? o es que es imposible q existan estos en puntos con cordenadas enteras?