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!