domingo, 18 de enero de 2015

Solucion 737 Gleaming the Cubes

import java.util.Scanner;

/**
 *
 * @author DAM101
 */
public class UVA737_GleamingTheCubes {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        int resultado, numCubos, d, x, y, z, inicioX, inicioY, inicioZ, finX, finY, finZ;
        numCubos = entrada.nextInt();
        while (numCubos > 0) {
            inicioX = entrada.nextInt();
            inicioY = entrada.nextInt();
            inicioZ = entrada.nextInt();
            d = entrada.nextInt();
            finX = inicioX + d;
            finY = inicioY + d;
            finZ = inicioZ + d;
            for (int i = 1; i < numCubos; i++) {
                x = entrada.nextInt();
                y = entrada.nextInt();
                z = entrada.nextInt();
                d = entrada.nextInt();
                inicioX = Math.max(inicioX, x);
                inicioY = Math.max(inicioY, y);
                inicioZ = Math.max(inicioZ, z);
                finX = Math.min(finX, x + d);
                finY = Math.min(finY, y + d);
                finZ = Math.min(finZ, z + d);
            }
            resultado = Math.max(0, (finX - inicioX) * (finY - inicioY) * (finZ - inicioZ));
            System.out.println(resultado);
            numCubos = entrada.nextInt();
        }
    }
}

No hay comentarios:

Publicar un comentario