El mes pasado tomé prestados muchos libros de la biblioteca. Todos eran buenos libros, llenos de emociones y giros en la trama. Desafortunadamente, en algunos momentos me enojé mucho / triste / decepcioné, así que arranqué algunas páginas.
Ahora la biblioteca quiere saber cuántas páginas he arrancado para cada libro.
Su objetivo es escribir un programa, que toma una lista ordenada y delimitada por comas de números como entrada e imprime el recuento de páginas mínimo y máximo posible que podría haber arrancado. Cada línea representa un libro, cada número representa una página faltante del libro.
Entrada de ejemplo:
7,8,100,101,222,223
2,3,88,89,90,103,177
2,3,6,7,10,11
1
1,2
Salida de ejemplo:
4/5
5/6
3/6
1/1
1/2
4/5significa que podría haber arrancado 4 o 5 páginas, dependiendo de qué lado comience la numeración de páginas del libro. Uno podría haber arrancado la página 6/7, la página 8/9, la página 100/101 y la página 222/223 (4 páginas). Alternativamente, uno podría haber arrancado la página 7/8, la página 99/100, la página 101/102, la página 221/222 y la página 223/224 (5 páginas).
Recuerde que una página de libro siempre tiene un anverso y un reverso. Además, la numeración de las páginas difiere de un libro a otro. Algunos libros tienen números de página pares en la página izquierda; algunos en la página correcta. Todos los libros se leen de izquierda a derecha.
El código más corto en bytes gana. Se formato de E / S estricta no es necesario. Sus programas deben poder tomar uno o más libros como entrada. Que te diviertas.
min/maxo todos max/min. (¡Aunque, personalmente, preferiría que no sea parte de la especificación!)
programs must be able to take one or more books as inputgobernar? La mayoría (si no todos) simplemente envolverán el código para verificar un solo libro en un bucle o algo así. En mi humilde opinión, solo agrega una sobrecarga a la respuesta con poco o ningún beneficio para el desafío. Estas preguntas ya tienen muchas respuestas, por lo que es mejor mantener esto como está, pero tenga esto en cuenta para sus desafíos futuros.
1,3,5,7,9,11,13,15,17,18- en beneficio de los lenguajes cuyo sortmétodo incorporado clasifica lexicográficamente por defecto (suponiendo que el requisito de salida ordenada consistentemente se agrega a la especificación).
4/5y5/4)