Galatea - Ang3r and Clerigo

101% Colombianos

P4sc4l L1br4ry - T3rm1n4d0

Este es un reto algo interesante, por la amplia posibilidad de soluciones, ya que se peude solucionar desde con un simple manejo de Strings o por arreglos bidimensionales.

La solución que le dimos fue manejando arreglos, se nos facilita mas el manejo de entradas y validaciones, si alguno se anima a mostrar una solución diferente a los arreglos, seria muy agradable estudiarla.

Enunciado: http://sophia.javeriana.edu.co/maratones/programacion/6.Uniminuto/contest/H-PascalLibrary.pdf
Entrada: http://sophia.javeriana.edu.co/maratones/programacion/6.Uniminuto/contest/PascalLibrary.in
Salida: http://sophia.javeriana.edu.co/maratones/programacion/6.Uniminuto/contest/PascalLibrary.sol

public class Pascal {

	private Vector Dinner = new Vector();

	public static void main(String[] args) throws Exception {
		Pascal p = new Pascal();
		p.leer();
	}

	private void leer() throws Exception {
		File f = new File( "Dinner.in" );
		BufferedReader entrada = new BufferedReader( new FileReader( f ) );
		String linea;		
		while (!(linea=entrada.readLine()).equals("0 0")){			
			StringTokenizer token = new StringTokenizer(linea," ");
			String N = token.nextToken();
			String D = token.nextToken();			
			//System.out.println(N+" "+D);
			for (int i = 0; i <Integer.parseInt(D) ; i++) {
				linea=entrada.readLine();
				Dinner.add(linea);				
			}
			crearMatriz(Integer.parseInt(N),Integer.parseInt(D));
			Dinner.removeAllElements();

		}

	}

	private void crearMatriz(int N, int D) {
		String Alumni;
		String [][] arrayA= new String [D][N];
		int i=0;
		for (int j = 0; j < D; j++) {
				Alumni = (String)Dinner.get(i);
				StringTokenizer token = new StringTokenizer(Alumni," ");
				for (int k = 0; k < N; k++) {
					arrayA [j][k]= token.nextToken();
					//System.out.println(arrayA [j][k]+"Fila: "+j+"Columna: "+k);					
				}
				i++;			
		}
		boolean resultado=validar(arrayA,N,D);
		if (resultado==true){
			System.out.println("YES");
		}else{
			System.out.println("NO");
		}
	}

	private boolean validar(String[][] arrayA, int N, int D) {
		boolean flag= true;
		int contador=0;
		//System.out.println(N+" "+D);
		//System.out.println(arrayA.length+" "+arrayA[0].length);
		for (int i = 0; i < N; i++) {
			//D
			for (int j = 0; j < D; j++) {
				//N
				//System.out.println("fila "+j+" colum: "+i);
				if (arrayA[j][i].equals("1")){					
					
				}else{
					flag = false;
				}				
				//System.out.println(arrayA[j][i]+" Fila: "+j+" Columna: "+i+"Bandera: "+flag);
			}
			if (flag==true){
				return true;
			}else{
				flag= true;
			}
			
		}
		return false;
	}
}

Qu3 N0mbr3 us4r1- P4r4m3tr0s d3 c3rtifi4ci0n c4bl34d0 r3d3s

Write a comment

New comments have been disabled for this post.