miércoles, 4 de febrero de 2015

solucion 11799 horror dash

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package UVA_RESOLTO;

import java.util.Scanner;

/**
 *
 * @author dam116
 */
public class UVA11799_HorrorDash {

    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        int num;
        String cadena;
        String[] numeros;
        num = entrada.nextInt();
        entrada.nextLine();
        int max = 0;
        for (int i = 1; i <= num; i++) {
            cadena = entrada.nextLine();
            numeros = cadena.split(" ");
            for (String numero : numeros) {

                max = Math.max(max, Integer.parseInt(numero));
            }
            System.out.println("Case " + i + ": " + max);
            max = 0;
        }
    }
}

Solución 10055-Hashmat, el guerrero valiente

package uva10055;

import java.util.Scanner;

/**
 *
 * @author dam129
 */
public class Uva10055 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
    

10055 – Hashmat, el guerrero valiente



  Hashmat es un guerreo valiente con un grupo de jóvenes soldados que se desplazan de un lugar a otro para luchar contra sus oponentes. Antes de luchar calculan la diferencia entre su número de soldados y el número de soldados de sus oponentes, Dependiendo de esta diferencia deciden si luchar o no. El número de soldados de Hashmat nunca es mejor que el de su oponente.

Entrada                                                                                                                                                      
Consiste en dos números enteros en cada línea. Estos dos números denotan el número de soldados de Hashmat y de su oponente respectivamente. Los enteros no podrán ser mayores de 2 elevado a 32.

Salida
Para cada línea de la entrada se imprime la diferencia entre el número de soldados de Hashmat y el número de soldados de su oponente. Cada salida se imprime en una línea diferente.

Ejemplo Entrada
10 12
10 14
100 200

Ejemplo Salida
2
4
100

enunciado 11799 Horror Dash

Es esa época del año otra vez! Globos y banderas de colores brillantes se extienden a lo largo de todo tu vecindario por sólo esta una ocasión. Es la fiesta anual del payaso en tu escuela local. Por primera vez en su vida, los estudiantes prueban sus dotes para ser el mejor payaso. Algunos caminan en largos zancos, otros tratan de hacer reir a la multitud en el escenario, mientras que otros aún tratan de hacer su primer acto de malabarismo - algunos "maestros payasos 'incluso enseñan estos trucos a los visitantes en el festival.
Como parte del festival, hay un evento único que se conoce como el "Guion de terror". En este caso, N (1≤N≤100) estudiantes vestidos con los trajes más aterradores posibles empiezan una carrera para coger un pobre payaso que se ejecuta en la misma pista. El payaso tropieza, pierde su mente, y hace todo tipo de actos cómicos mientras es perseguido en la pista. Para mantener el evento  el mayor tiempo posible, el payaso debe correr lo suficientemente rápido para no ser capturado por cualquiera de las criaturas de miedo. Sin embargo, para mantener al público al borde de sus asientos, el payaso tampoco debe correr demasiado rápido. Aquí es donde se debe ayudar.

Dada la velocidad de todas las criaturas de miedo, se debe averiguar la velocidad mínima que el payaso debe mantener para que no se deje atrapar incluso si siguen corriendo siempre.

entrada
La primera línea de entrada contiene un único entero T (T≤50), el número de casos de prueba. Esta línea es seguida por los T casos de entrada. Cada caso de entrada es en una sola línea de números enteros separados por espacios. El primero de estos enteros es N, el número de estudiantes que actúan como criaturas de miedo. El resto de la línea tiene más N números enteros, c0, c1, ..., cn, cada uno representando la velocidad de una criatura en metros por segundo (1≤ci≤10000 para cada i). Usted puede asumir que siempre están corriendo en la misma dirección en la pista.

salida
Debe haber una sola línea de salida para cada caso de prueba, con el formato "Caso c: s". Aquí, c representa el número de serie de la caja de entrada, empezando por 1, mientras que s representa la velocidad requerida del payaso, en metros por segundo.


Sample Input
Sample Output
2
5 9 3 5 2 6
1 2
Case 1: 9
Case 2: 2


solucion 100 El problema 3n+1

public class UVA100_3nMAS1 {

    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        int a, b, cont, max = 0, num, inicio, fin;
        do {
            a = entrada.nextInt();
            b = entrada.nextInt();
            inicio = Math.min(a, b);
            fin = Math.max(a, b);
            for (int i = inicio; i <= fin; i++) {
                cont = 1;
                num = i;
                while (num != 1) {
                    if (num % 2 == 0) {
                        num /= 2;
                    } else {
                        num = num * 3 + 1;
                    }
                    cont++;
                }
                max = Math.max(max, cont);
            }
        System.out.printf("%d %d %d%n", a, b, max);
        max = 0;
        } while (entrada.hasNext());
    }
}

Solución 100 - El problema 3n + 1


package The_3n_problem;

import java.util.Scanner;

public class The_3n_1_problem {

    public static void main(String[] args) {
        Scanner leer = new Scanner(System.in);
        int mayor, num1, num2, max, min;

        do {
            mayor = 0;
            num1 = leer.nextInt();
            num2 = leer.nextInt();
         
            if (num1 > num2) {
                max = num1;
                min = num2;
            } else {
                max = num2;
                min = num1;
            }
         
            for (int i = min; i <= max; i++) {
                if (get3n(i) > mayor) {
                    mayor = get3n(i);
                }
            }
            System.out.println(num1 + " " + num2 + " " + mayor);

        } while (leer.hasNext());
    }
 

264-Cuenta con Cantor

 Cuenta con Cantor.

Una de las famosas pruebas de la matemática moderna es la demostración de Georg Cantor en la cual
el conjunto de los números racionales es enumerable. La prueba funciona mediante el uso de una
enumeración de los números racionales como se muestra en el siguiente diagrama.

1/1   1/2   1/3   1/4   1/5...
2/1   2/2   2/3   2/4...
3/1   3/2   3/3...
4/1   4/2...
5/1...

En el diagrama anterior, el primer término es 1/1, el segundo término es 1/2, el tercer término es
2/1, el cuarto término es 3/1, el quinto término es 2/2, el sexto término es el 1/3, el séptimo es
1/4 (es una sucesión en zigzag) y así sucesivamente.

Entrada y Salida

Tienes que escribir un programa que lea una lista de números comprendidos entre el 1 y 10^7 y que
imprima con cada número el término correspondiente en la sucesión de Cantor como se indica a continuación.

La entrada del programa tiene que contener un solo número por línea.

Ejemplo de entrada
3
14
7

Ejemplo de salida

El número 3 es 2/1
El número 14 es 2/4
El número 7 es 1/4

Traducción: Roberto Nóvoa González

Enunciado original

453 - Intersecting Circles(La intersección de los círculos)

La ecuación de un círculo con radio r y centrotex2html_wrap_inline29 es


Escriba un programa que compare dos círculos para ver si se cruzan y, si lo hacen, calcular los puntos de intersección. (Puede haber 1, 2, o un número infinito de tales puntos).

Entrada

La entrada a este programa consistirá en un número par de líneas. Cada dos líneas representan un problema de intersección. Cada línea contendrá 3 números reales que constituyen los parámetros tex2html_wrap_inline33 , tex2html_wrap_inline35  y r de un círculo.

Salida

Para cada problema, la salida debe ser las palabras “No hay intersección” si los círculos no tienen intersección.

Cuando tienen un número infinito de puntos de intersección, la salida debe ser las palabras "Los círculos son iguales".

Si hay intersección en 1 o 2 puntos, la salida debe ser una línea con, respectivamente,  uno o dos pares de números reales que dan las coordenadas X e Y de cualquier punto de intersección. Los pares deben ser ordenados primero por su coordenada X, y cuando éstas son iguales por su coordenada Y.

Entrada ejemplo

0.0 0.0 1.0
3.0 0.0 1.0
0.0 0.0 1.0
0.0 0.0 1.0
0.0 0.0 1.0
1.0 0.0 1.0

Salida ejemplo

No hay intersección
Los círculos son iguales
(0.500,-0.866)(0.500,0.866)

Enunciado original:
Fuente


100 - El problema 3n + 1

 El problema 3n + 1 

Trasfondo

Los problemas en ciencias computacionales son siempre clasificados según pertenezcan a ciertas clases de problemas (por ejemplo, NP, Irresolvibles, Recursivos). En este problema tendrás que analizar las propiedades de un algoritmo cuya clasificación no es conocida por todas las posibles entradas.


El Problema

Considerando el siguiente algoritmo:

1.       Entrada n
2.       Imprime n
3.       Si n = 1 entonces PARA
4.       Si n es impar entonces n ß 3n + 1
5.       Si no n ß n/2
6.       Volver al paso 2