Problemas final

9
1 ACM CHAPTER CUSCO 2011 Universidad Nacional de San Antonio Abad del Cusco Carrera Profesional de Ingeniería Informática y de Sistemas “2do CUSCONTEST” 10 de Diciembre del 2011 Este conjunto de problemas contiene 7 problemas Organizado por: ACM Chapter Cusco y DAI-UNSAAC CUSCO-PERU

Transcript of Problemas final

Page 1: Problemas final

1

ACM CHAPTER CUSCO 2011

Universidad Nacional de San Antonio Abad

del Cusco

Carrera Profesional de Ingeniería Informática y de

Sistemas

“2do CUSCONTEST” 10 de Diciembre del 2011

Este conjunto de problemas contiene 7 problemas

Organizado por: ACM Chapter Cusco y DAI-UNSAAC

CUSCO-PERU

Page 2: Problemas final

2

A. ABREVIATIONS

Existen muchas abreviaciones en el mundo, en una línea pueden existir varias

abreviaciones.

Pero para este caso nosotros solo estamos interesados en las siguientes

abreviaciones UCC, UUU, UCU, CUC, UCB.

Entrada La primera línea contiene un numero positivo „n‟ (1 <= n <= 100) que representa el

número de casos de prueba.

Luego siguen n líneas que corresponden a un caso de prueba, cada línea es una

cadena de menos de 100 caracteres.

Salida Para cada caso de prueba escribir en una línea 5 números separados por un espacio,

los cuales representan la cantidad de veces que aparece cada abreviación.

El 1er numero corresponde a “UCC”

El 2do numero corresponde a “UUU”

El 3er numero corresponde a “UCU”

El 4to numero corresponde a “CUC”

El 5to numero corresponde a “UCB”

Ejemplo de Prueba

Entrada

3

UUUUUUU

UCBUCBUCB

UCUCUCC

Salida

0 5 0 0 0

0 0 0 0 3

1 0 2 2 0

Page 3: Problemas final

3

B. PROGRESSION

Existen dos famosas progresiones, aritmética y geométrica. Estas progresiones

son un conjunto de números que crecen de acuerdo a un patrón.

Las progresiones aritméticas tienen una constante diferencia entre todos sus

números contiguos.

Ejm: 3, 5, 7, 9, 11, 13 es una progresión aritmética con diferencia constante 2.

Las progresiones geométricas tienen una relación común.

Ejm: 2, 6, 18, 54 es una progresión geométrica con relación 3.

Dados 3 números determinar el cuarto número de la progresión ya sea

aritmética o geométrica

Entrada La primera línea tiene un numero t (1 <= t <= 100) que indica el número de

casos de prueba.

Cada caso de prueba esta descrito por tres números „a‟, „b‟, „c‟ (-10000 <= a,b,c

<= 10000, a != b, b != c) que son parte de la progresión para cada caso.

Salida

Escribir un numero „d‟ para cada caso de prueba que es el número que sigue a

la progresión, se garantiza que este número es siempre un entero valido.

Ejemplo de Prueba

Entrada

3

2 4 6

-6 4 14

-4 4 -4

Salida

8

24

4

Page 4: Problemas final

4

C. Broken Keyboard

Te encuentras escribiendo un largo texto con un teclado malogrado. Bueno el único

problema del teclado es que a veces la tecla de “inicio” y de “fin” se presiona sin

querer.

No eres consciente de que esto sucede, ya que tu estas concentrado en el texto y ni siquiera miras la pantalla. Después de terminar de escribir, miras el monitor y que es lo que escribiste.

Entrada

Se darán varios casos de prueba.

La primera línea contiene la cantidad de casos de prueba menor o igual a 200.

Cada caso de prueba es una línea que contiene al menos 1 y a lo mucho 100000

letras, sub guiones y dos caracteres especiales „[‟ y „]‟:

„[‟ significa que la tecla “inicio” es presionada

„]‟ significa que la tecla “fin” es presionada

Salida Escribir lo que se ve en la pantalla.

Ejemplo de Prueba

Entrada

2

This_is_a_[Beiju]_text

[[]][][]Happy_Birthday_to_Tsinghua_University

Salida

BeijuThis_is_a__text

Happy_Birthday_to_Tsinghua_University

Page 5: Problemas final

5

D. Bar

De acuerdo a algunas leyes solo es permitido vender alcohol a personas mayores de

edad (18 años a más). Tu trabajo es verificar que esto se cumpla. Esta noche tú

entraste a un bar y viste n personas sentadas ahí. De cada una de ellas tu lograste

averiguar o la edad o la bebida que está tomando.

¿Cuál es el número mínimo de personas que deberías supervisar para asegurar de

que no hay clientes menores de 18 años tomando bebidas alcohólicas?

Las bebidas alcohólicas reconocidas son: ABSINTH, BEER, BRANDY, CHAMPAGNE,

GIN, RUM, SAKE, TEQUILA, VODKA, WHISKEY, WINE

Entrada El ejercicio contiene varios casos de prueba, cada caso de prueba esta descrito de la

siguiente manera:

La primera línea contiene el número n (1 <= n <= 100) el cual es el número de clientes

en el bar.

Luego vienen n líneas describiendo a una persona. Una línea o contiene la edad (de 0

a 1000) o el nombre de su bebida (una cadena de 1 a 100 letras en mayúscula).

Cuando n = -1 indica que ya no hay más casos de prueba.

Salida

Escribir el número mínimo de personas que deberías supervisar para que lo enunciado

se cumpla.

Ejemplo de Prueba

Entrada

5

18

VODKA

COKE

19

17

3

FANTA

SPRITE

COKE

-1

Salida

2

0

Page 6: Problemas final

6

E. On The Farm Existen pollos y vacas en la granja de John.

La hija de John, Susi conto 3 cabezas en total.

El hijo de John, Billy conto 8 patas en total.

Con esta información John determinó que hay exactamente 2 pollos y una vaca.

Dado un número de cabezas y número de patas determinar la cantidad existente de

pollos y vacas. Si no existe una solución escribir -1 y -1.

Entrada La primera línea describe el número de casos de prueba.

Las siguientes líneas contienen dos números C y P (0 <= C, P <= 1000000) que

representan la cantidad total de cabezas y patas de los animales en la granja.

Salida

Para cada caso de prueba escribir en una línea la cantidad de pollos y vacas

separados por un espacio.

Ejemplo de Prueba

Entrada

4

3 8

10 40

10 42

1 3

Salida

2 1

0 10

-1 -1

-1 -1

Page 7: Problemas final

7

F. Friend Scores

Debes determinar la persona más popular en una red social. Para hacer esto, tendrás

que contar el número de "2-amigos" que cada persona tiene. La persona A es llamada

como "2-amigos" de otra persona B si ellos son amigos entre sí o si existe alguna

persona C que es amigo de ambos A y B. la persona más popular es la persona con el

mayor número de "2-amigos". (Podría haber más de uno si muchas personas todas

ellas tienen el mismo máximo número de "2-amigos".)

Dado un arreglo “friends” de orden N (1<=N<=50), (1 <= i <= 50 y 1 <= j <= 50), en

donde friends[i][j] = friends[j][i] , y friends[i][j] = „Y‟ si la i-ésima persona es amigo de la

j-ésima persona o „N‟ si no lo son, además friends[i][i] siempre será „N‟.

Entrada

Hay muchos casos de prueba, la primera línea indica el número de casos de prueba,

luego para cada caso de prueba se lee el orden de la matriz cuadrada “N”, luego N

líneas cada línea con N elementos indicaran la matriz a procesar.

Salida

Para cada matriz imprimir el número de "2-amigos" de la persona más popular en esta

red social.

Ejemplo de Prueba

Entrada

3

3

NNN

NNN

NNN

3

NYY

YNY

YYN

5

NYNNN

YNYNN

NYNYN

NNYNY

NNNYN

Salida

0

2

4

Page 8: Problemas final

8

G. Cantoring Along

El conjunto Cantor es un proceso infinito por lo que para este problema, imprimir una

aproximación del conjunto total es suficiente.

Los siguientes pasos describen la forma para obtener la salida para un orden dado:

1. Empezar con una cadena de guiones de longitud 3orden.

2. Reemplazar el tercio central de la línea de guiones con espacios. Esto te deja

con dos líneas de guiones al principio y final de la cadena original.

3. Reemplazar el tercio central de las líneas restantes con espacios. Repetir esto

hasta que las líneas consistan de solo un guion.

Por ejemplo:

Si el orden de la aproximación es 3, empieza con una cadena de 27 guiones.

---------------------------

Al remover el tercio central queda:

--------- ---------

Y al remover el tercio central de cada pieza queda:

--- --- --- ---

Y haciendo esto otra vez:

- - - - - - - -

El proceso termina aquí cuando los grupos de guiones son de longitud 1. Tu no

deberías imprimir los pasos intermedios, solo debes imprimir el resultado final.

Entrada

La primera línea será un numero n el cual es número de casos de prueba.

Las siguientes n líneas contendrán un numero entero A (0 <= A <= 12).

Salida

Por cada caso de prueba imprimir el resultado final de realizar el proceso del Cantor.

Solo deberían aparecer guiones y espacios en blanco.

Ejemplo de Prueba

Entrada

4

0

1

3

Page 9: Problemas final

9

2

Salida

-

- -

- - - - - - - -

- - - -