Enviar | Todos los envíos | Mejores soluciones | Atrás a la lista |
IC13_CAC - Cachinitaball |
Jugar con las canicas(esferas de vidrio) es/fue un pasatiempo muy común en la niñez de una gran parte del mundo, y como no, también de la niñez boliviana.
En tu excursión por algunos pueblos lejanos del occidente Boliviano, los niños del lugar te enseñan su propia versión del juego con canicas, llamado: Cachinitaball
En el juego se usa una única canica y consiste de los siguientes pasos:
- Situar pequeñas semillas en la tierra
- Cada jugador puede lanzar N canicas(Esferas)
- Después de terminar cada lanzamiento, se retira la canica del campo de juego
- Si una semilla es tocada por el recorrido de una canica, el jugador gana un punto.
- Cada semilla solo otorga un punto, por lo que si una semilla es tocada por segunda vez, ya no se suman puntos al jugador.
- Las semillas son tan pequeñas, que no afectan el recorrido de la canica.
- El jugador con más puntos gana.
Lastimosamente, al igual que en los recuerdos de la niñez, no falta el que se quiere pasar de vivo, haciendo trampa o invalidando tus lanzamientos.
Afortunadamente, no contaba con tu astucia y conocimiento tecnológico, por lo que instalas una cámara en el campo de juego; cámara que está conectada a tu laptop, codificas un programa que analiza los lanzamientos en tiempo real y determina el puntaje de manera imparcial.
Del procesamiento de vídeo, se obtienen las siguientes abstracciones: Un lanzamiento es representado por 6 parámetros: x,y,r,dx,dy,t; parámetros que representan un movimiento rectilíneo en el plano XY.
- Una canica es representada como un circulo de radio r.
- Al lanzar la canica, el centro del círculo/canica entra en contacto con el suelo en las ordenadas x e y.
- Después de tocar el suelo, se desplaza en línea recta a velocidad constante por t segundos para después detenerse.
- La dirección y velocidad es representada por el vector(dx,dy), es decir:
- Por cada unidad de tiempo(segundos), la canica se desplazará dx unidades en el eje X, y dy unidades en el eje Y .
Entrada
La entrada comienza con un número NC, el número de casos de prueba. A continuación, existen NC casos de prueba, cada caso de prueba consiste en:
Un número N (1 ≤ N ≤ 1000) y un número M (1 ≤ M ≤ 1000) seguido por la descripción de N lanzamientos, donde cada lanzamiento es representado por 6 números enteros: x,y,r,dx,dy,t. Seguidamente, se describen M semillas, cada una con su posición x e y.
Los parámetros de lanzamiento tienen como límites: (100 ≤ r ≤ 1000), (10 ≤ t ≤ 1000), ( − 1000 ≤ x,y,dx,dy ≤ 1000).
Salida
Por cada caso de prueba, imprimir el respectivo número de caso y la cantidad de puntos obtenidos después de los M lanzamientos.
+----------------------+--------------------+
| Ejemplos de Entrada | Ejemplos de salida |
+----------------------+--------------------+
| 2 | Caso 1: 1 |
| 1 1 | Caso 2: 1 |
| 0 0 2 1 1 100 | |
| 4 4 | |
| 2 1 | |
| 0 0 2 1 1 100 | |
| 0 0 2 1 1 100 | |
| 4 4 | |
+----------------------+--------------------+
En el caso de entrada, se describen 3 lanzamientos idénticos, donde:
Se usa una canica de radio 2
Inicia su recorrido en el punto (0,0)
Termina su recorrido en el punto (100,100)
Su recorrido consiste de los puntos: (0,0),(1,1),(2,2),(3,3),...,(99,99),(100,100)
Adicionado por: | Gabriel Rea Velasco |
Fecha: | 2013-10-01 |
Tiempo límite: | 4s |
Límite del código fuente: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Lenguajes: | C CSHARP C++ 4.3.2 CPP CPP14 JAVA |