Dudas Generales sobre soluciones en COJ

Feel free to ask any questions related to the COJ.
EricNG
Posts: 2
Joined: Tue Sep 22, 2015 12:01 pm
Gender: None specified

Dudas Generales sobre soluciones en COJ

Postby EricNG » Tue Sep 22, 2015 12:08 pm


Me gustaria empezar un tema que tenga que ver con algunas cosas de las cuales aun desconozco sobre el COJ. Tal vez el hecho de que sea bastante nuevo en esto de resolver problemas en linea no me ha dejado aclarar algunas cosas que no se donde preguntar... aqui escribire si alguien tiene dudas puede dejarlas aqui y asi de paso las leo y tal vez sean las mias (probablemente) tambien.
Por ahora estoy muy confundido respecto a que quiere decir que la entrada termina por EOF (the input is terminated by EOF)... Agradecere cualquier respuesta en cuanto a esto



User avatar
ymondelo20
COJ Administrator
Posts: 1968
Joined: Sun Nov 13, 2011 12:32 pm
Location: Universidad de las Ciencias Informáticas
Gender: None specified
Contact:

Re: Dudas Generales sobre soluciones en COJ

Postby ymondelo20 » Thu Sep 24, 2015 2:47 pm

EOF es el diminutivo común para End of File (fin de fichero).
"Every problem has a simple, fast and wrong solution" OJ's Main Law. ;)

imachin
Posts: 2
Joined: Mon Feb 01, 2016 11:19 am
Gender: None specified

Re: Dudas Generales sobre soluciones en COJ

Postby imachin » Mon Feb 01, 2016 11:26 am

En ocasiones hay problemas que especifican el uso del EOF, yo pogramo en Java y aun tengo probemas para usar el mismo, no he sido aun capaz de resolver un problema con el uso del EOF, agradecería cualquier ayuda o referencia de su correcto uso, en código, toda información que he buscado y he intentado no me ha servido. Hay ejercicios que no especifican el uso del EOF solo dicen "para múltiples entradas", pero no ponen el límite de los casos de prueba, si alguien me pudiera ayudar le estaría agradecido, gracias de antemano.

User avatar
isaac
Posts: 83
Joined: Mon Oct 26, 2015 6:20 pm
Gender: None specified

Re: Dudas Generales sobre soluciones en COJ

Postby isaac » Mon Feb 01, 2016 12:46 pm

Este tema resulta comun dentro de las principales preguntas que se hacen los usuarios al inicio. Para entender esto, primero hay que saber como es la calificacion de los jurados en linea. La comprobacion del codigo que uno envia se hace de la siguiente forma. En el servidor (en este caso, el servidor de la UCI) estan guardados todos los casos de prueba referentes a cada problema. Al enviar el codigo, un programa toma estos casos de prueba y analiza si nuestra solucion es correcta o no. Esto se hace asi porque resulta un poco mas facil, ademas, es una condicion necesaria para el OJ porque ningun administrador del COJ se va a poner a calificar envio por envio con casos que se sepan de memoria, eso es algo ilogico pensarlo, por eso recurrimos a los ficheros. El fichero de entrada, no siempre tiene la estructura que indica cuantos casos de prueba contiene, hay veces que en el problema no te especifican cuantos casos y ahi es cuando entra el EOF. Lo unico que representa el EOF es el fin de fichero, o sea, ya no hay mas datos para leer. En C++ se puede hacer de las siguientes dos formas:

1- while(scanf() != EOF) { Puede ser EOF o -1, al final tienen el mismo valor
}
2- while(cin >> ) {
}

En Java por el contrario, los scanners tienen un metodo interno llamado hasNext...() que en dependencia de lo que estemos leyendo, es lo que va donde puse los puntos suspensivos. Ejemplo: sc.hasNextInt()
Si ese metodo devuelve falso, es porque ha llegado al fin de fichero o mas conocido como EOF. Creo que eso es todo lo que puedo comentar acerca de esto

User avatar
WIL
Posts: 11
Joined: Thu Dec 08, 2011 12:02 pm
Gender: Male

Re: Dudas Generales sobre soluciones en COJ

Postby WIL » Mon Feb 01, 2016 6:21 pm

Agregar que si se usa BufferedRedear para la lectura, se debe usar el método .ready() que al igual que el hasNext() en el Scanner, retorna false cuando se ha llegado al fin del fichero.
PD. Siempre en los problemas que hay que utilizar lectura hasta fin de fichero, lo dejan explícito en la desccripción de una forma u otra.
I'm interesting in learn!!!


Return to “FAQ”

Who is online

Users browsing this forum: No registered users and 1 guest