Sunday, March 06, 2011

110201 Secuencias saltarinas

import java.util.BitSet;
import java.util.Scanner;

/**
* 110201 - Secuencias Saltarinas [Programing-Challenges]
*
* @author BreakDark
* @version 3.0 beta
*/
// ACEPTADO!!! xD
class Main {
public static void main(String[] args) {
short n = 3005; // numero a verificar entre 1 y n-1
int[] secuencia; // para guardar la secuencia
int diferencia; // para calcular la diferencia absoluta
BitSet num; // para comprobar si todos los numeros posibles son
// utilizados
boolean saltarina; // para verificar si la secuencia es saltarina o no
Scanner Lee; // para leer los datos de entrada
int i; // para los bucles
// EL PROGRAMA INICIA AQUI!!!
Lee = new Scanner(System.in);
while (Lee.hasNext()) {
n = Lee.nextShort();
secuencia = new int[n];
for (i = 0; i < n; i++)
secuencia[i] = Lee.nextInt();
// revisamos si la secuencia es saltarina
num = new BitSet(n);
for (i = 1; i < n; i++) {
diferencia = secuencia[i - 1] - secuencia[i];
if (diferencia < 0)
diferencia = -diferencia;
// verificamos si esta en el rango
if (diferencia > 0 && diferencia < n)
num.set(diferencia);
}
// aqui preguntamos si todos los valores posibles fueron usados
saltarina = true;
for (i = 1; i < n; i++)
if (!num.get(i)) {
saltarina = false;
break;
}
if (saltarina)
System.out.println("Jolly");
else
System.out.println("Not jolly");
}
// FIN DEL PROGRAMA
}
}

No comments: