Foro de elhacker.net

Programación => Java => Mensaje iniciado por: neiwo en 22 Diciembre 2017, 23:13 pm



Título: [Problema Java] Desarrollos en las bicicletas
Publicado por: neiwo en 22 Diciembre 2017, 23:13 pm
¡Hola!
Soy nuevo en el foro, así que no sé si lo estoy utilizando correctamente. Hace poco comencé a estudiar java y estoy realizando ejercicios en Acepta el Reto. Llevo unos días algo "picado" con este problema.
https://www.aceptaelreto.com/problem/statement.php?id=268


Básicamente se compone de varias entradas
La primera contiene dos números indicando respectivamente el número de platos (P) y de coronas (C) de la bici
La segunda línea contiene P números positivos con el número de dientes de cada plato.
La tercera línea lista la cantidad de dientes de cada una de las C coronas.no habrá dos desarrollos iguales.

Y la salida se escribirán, de menor a mayor desarrollo, todas las combinaciones posibles de platos y coronas. Para cada una se indicará primero el número de dientes del plato y luego de la corona, separándolos por un guión. Dos combinaciones consecutivas se separarán por un espacio.

Este es mi código:

Código:
import java.util.TreeSet;

public class BicicletaTree
{  
    static java.util.Scanner entrada;
    

    public static void main (String args[])
    {
        entrada = new java.util.Scanner(System.in);

        while (casoDePrueba())
        {
        }
    }

    private static boolean casoDePrueba ( )
    {
    
    
     int numPlatos = entrada.nextInt(); //Número de platos que tiene la bicicleta
        int numCoronas = entrada.nextInt(); //Número de coronas que tiene la bicicleta
        
        if (numPlatos == 0 && numCoronas == 0) {
            return false;
        }
        
        TreeSet<Integer> treePlatos = new TreeSet<Integer>();
     for(int i = 0; i < numPlatos; i++) {
     treePlatos.add(entrada.nextInt());
     }
        
     TreeSet<Integer> treeCoronas = new TreeSet<Integer>();
     for(int i = 0; i < numCoronas; i++) {
     treeCoronas.add(entrada.nextInt());
     }
        
        treeCoronas = (TreeSet<Integer>) treeCoronas.descendingSet();
       String combinacion = "";
        for (Integer plato : treePlatos) {
         for(Integer corona : treeCoronas) {
         combinacion = combinacion + " " + plato + "-" + corona;
         }
        }
        System.out.println(combinacion);
      
        return true;
    }
}

¿Alguna pista o ayuda?

¡muchísimas gracias!