P4sc4l L1br4ry - T3rm1n4d0
Monday, August 10, 2009 2:04:54 AM
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
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;
}
}






