Día 1 Problema 2 Certamen Selección OIA 2019 Organizando El Depósito

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 2

Día 1 Problema 2 deposito Certamen Selección OIA 2019

Organizando el depósito
Contribución de Facundo Gutiérrez

Descripción del problema casillas con goteras, pues de cualquier


En un impulso repentino, Nicolás com- manera nunca se va a utilizar.
pró un bote a través del conocido sitio de ¿Puedes ayudar a Nicolás a saber si
ventas en línea Mercachifle.com. Luego puede hacer suficiente lugar en el depó-
de comprarlo, notó que además de no sa- sito? Para esto debes calcular cuál es la
ber cómo utilizar un bote, siempre le tuvo manga del bote más grande que puede
miedo al agua. Entonces, decidió hacer lo ubicar en el depósito, eventualmente lue-
mismo que hace con todas las baratijas go de utilizar las pinzas especiales para
que compra por internet: guardarlas en hacer lugar.
un depósito (que también adquirió por En la figura que sigue se muestra un
Mercachifle.com). ejemplo con N = 9, M = 8 y B = 2. Las
Este depósito no es un depósito orto- casillas blancas están vacías, las casillas
doxo. Puede modelarse como una grilla negras representan baratijas y las casillas
de N × M casillas (N filas y M columnas), celestes las ubicaciones de las goteras.
donde cada casilla representa un metro Ubicando las pinzas en las posiciones
cuadrado del depósito. El depósito tiene indicadas, se muestra cómo se hace lugar
la particularidad de tener en cada fila un para un bote de 9 × 2.
par de pinzas separadoras.
Estas pinzas se utilizan ubicándolas
en un lado compartido entre dos de las
casillas de la fila correspondiente, o bien
directamente en uno de los extremos de
la fila. Al activarlas, se abren y se alejan
entre sí, moviéndose cada una hacia un
extremo distinto de la fila y barriendo
todas las baratijas a su paso. Por otro
lado, en el depósito hay G lugares con
goteras, que forman un charco en la casi-
lla que está debajo de la gotera. Por esas
casillas no pueden pasar las baratijas en Sin embargo, la anterior no es la mejor
ningún momento al ser empujadas (pues manera posible de ubicar las pinzas. En la
se arruinarían, y Nicolás guarda cierto siguiente figura se muestra una forma de
valor afectivo por cada una de ellas), así hacer lugar para un bote de 9×3, que tiene
como tampoco las pinzas (pues termina- la manga máxima posible en este ejemplo.
rían mojadas y se oxidarían, perdiendo su
utilidad).
Dentro de este modelo del depósito, el
bote puede pensarse como un rectángulo
de N × B (Nicolás ya tiene pensada esta
orientación y está fija), es decir que posee
N casillas de eslora (largo) y una cierta
cantidad B de casillas de manga (ancho).
No hay problema en ubicar el bote sobre

Versión 0.1 hoja 1 de 2


Día 1 Problema 2 deposito Certamen Selección OIA 2019

Debes escribir una función que, dados Evaluador


los valores de N y M, las posiciones de las El evaluador local lee de la entrada
G goteras en el depósito, y las posiciones estándar con el siguiente formato:
de las T baratijas, determine la manga
máxima posible de un bote que entra en Una línea con cuatro enteros: N, M,G
el depósito, así como una posible lista de y T.
ubicaciones de las pinzas que permitan G líneas, cada una con dos enteros
lograr esa tarea. Si no es posible ubicar correspondientes a gX[i] y gY[i].
ni siquiera un bote de N × 1, se debe T líneas, cada una con dos enteros
retornar 0, y un conjunto de ubicaciones correspondientes a bX[i] y bY[i].
cualesquiera (válido) para las pinzas.
El evaluador devuelve una primera lí-
Descripción de la función nea con el valor devuelto por la función
deposito, y luego una línea con los ele-
Debes implementar la función mentos del arreglo pinzas separados por
deposito(N,M :ENTEROS , espacios.
gX, gY : ARREGLOS[G] de ENTEROS ,
bX, bY : ARREGLOS[T] de ENTEROS , Cotas
pinzas : ARREGLO[N] de ENTEROS )
: ENTERO 1 ≤ N ≤ 105 Para 0 ≤ i < G:
1 ≤ M ≤ 109 1 ≤ gX [i] ≤ N
que retorna la máxima manga posible.
0 ≤ G, T ≤ 105 1 ≤ gY [i] ≤ M
N,M indican las dimensiones del depó- Para 0 ≤ i < T :
sito. 1 ≤ bX [i] ≤ N
1 ≤ bY [i] ≤ M
gX,gY indican las casillas con goteras.
La i-ésima casilla con goteras se Ejemplo
encuentra en la fila gX[i], columna Si se aporta como entrada del evalua-
gY[i]. 0 ≤ i < G dor el ejemplo anterior (ver archivo .in
bX,bY indican las casillas con barati- provisto), una salida para un programa
jas. La i-ésima casilla con baratijas correcto podría ser:
se encuentra en la fila bX[i], colum-
na bY[i]. 0 ≤ i < T 3
4 5 3 4 3 3 4 4 4
pinzas es un arreglo en el cual se
debe escribir el resultado con las
posiciones de las pinzas. Este arre- Subtareas
glo ya tiene tamaño N, y solamente
1. N = 1, M ≤ 106 (15 puntos)
se debe escribir en él los resulta-
dos, sin cambiar su tamaño. Más 2. N ≤ 103 , M ≤ 106 , G = 0 (10 puntos)
precisamente, en pinzas[i] se debe 3. N ≤ 103 , M ≤ 106 , T = 1 (10 puntos)
indicar la ubicación donde se debe 4. N ≤ 100, M ≤ 100 (15 puntos)
activar la pinza de la fila i + 1: la 5. N ≤ 103 , M ≤ 103 (20 puntos)
pinza se activará entre las casillas
6. Sin más restricción (30 puntos)
ubicadas en las columnas pinzas[i]
y pinzas[i]+1 (pinzas[i]=0 corres-
Puntuación
ponde a una pinza en el extremo
izquierdo, y pinzas[i]=M corresponde 40 % del puntaje por el máximo valor B, y
a una pinza en el extremo derecho). el 60 % restante por dar además una correcta
ubicación óptima de las pinzas.
Versión 0.1 hoja 2 de 2

También podría gustarte