1395 - Big Number II

Discussion around the problems of the COJ.
Forum rules
Remember that posting AC code is not allowed here. If you are going to ask a question or to post a solution, describe your algorithm instead. Posting AC code will be penalized.
Post Reply
User avatar
dovier
Posts: 1143
Joined: 9 years ago
Location: Havana, Cuba
Gender: Male
Cuba

1395 - Big Number II

Post by dovier » 9 years ago




rvargas
Posts: 37
Joined: 7 years ago
Gender: None specified

Re: 1395 - Big Number II

Post by rvargas » 7 years ago

Hola

¿Podrían revisar el dataset? Usando el mismo algoritmo, en Python tengo RE, pero en C++ ya lo tengo aceptado. De hecho, localmente saque los 10^7 valores, para ver si alguno fallaba y no. También lo probé con el datagen y 1000 números aleatorios (incluyendo los valores mínimos y máximos) y tampoco hubo ningún problema.

Gracias.

User avatar
ymondelo20
Posts: 1968
Joined: 9 years ago
Location: Universidad de las Ciencias Informáticas
Gender: None specified
Contact:

Re: 1395 - Big Number II

Post by ymondelo20 » 7 years ago

Bueno, todos los valores están en los rangos especificados.
El error debe ser de tu parte.
Saludos
"Every problem has a simple, fast and wrong solution" OJ's Main Law. ;)

rvargas
Posts: 37
Joined: 7 years ago
Gender: None specified

Re: 1395 - Big Number II

Post by rvargas » 7 years ago

Gracias.

Edición:

Ya conseguí el accepted. Y sigo creyendo que el dataset tiene algún carácter raro. Agregue una validación de dígitos a la entrada y si no existe un número, vuelve a pedir una entrada de stdin.

Algo así como:

Code: Select all

	n = raw_input()
	m2 = ""
	for e in n:
		if e.isdigit():
			m2+=e
	if len(m2) != 0:
		#algoritmo
	else:
		n = raw_input() #intenta de nuevo
Muy feo, pero así lo logre tener bien en Python :?

george
Posts: 43
Joined: 9 years ago
Gender: None specified

Re: 1395 - Big Number II

Post by george » 7 years ago

rvargas wrote:Gracias.

Edición:

Ya conseguí el accepted. Y sigo creyendo que el dataset tiene algún carácter raro. Agregue una validación de dígitos a la entrada y si no existe un número, vuelve a pedir una entrada de stdin.



Muy feo, pero así lo logre tener bien en Python :?

No se mucho de python pero creo que el error no esta en los datasets sino en la forma de lectura de python, dado que en c++ ya sea con scanf o cin solo lee el numero y se omiten los caracteres de fin de linea y demas, en python creo que debes castear o algo para evitar estos errores.

rvargas
Posts: 37
Joined: 7 years ago
Gender: None specified

Re: 1395 - Big Number II

Post by rvargas » 7 years ago

Así es, se hace un cast int(raw_input()) que omite el carácter de salto de linea. El problema es que si el string tiene otro carácter ("1\n" es casteo correcto, "1a" no lo es), lanza Runtime Error, que supongo es lo que pasa en este caso. Creo que me ha pasado dos veces en lo que llevo usando COJ.

User avatar
ymondelo20
Posts: 1968
Joined: 9 years ago
Location: Universidad de las Ciencias Informáticas
Gender: None specified
Contact:

Re: 1395 - Big Number II

Post by ymondelo20 » 7 years ago

He vuelto a comprobar, los datasets están bien...

He usado este código sencillo en C++:

Code: Select all

using namespace std;
#include <assert.h>
#include <stdio.h>
int main()
{
    freopen("dataset.in","r",stdin);
    char c;
    while(EOF != scanf("%c",&c))
    {
        assert('\n' == c || ('0' <= c && c <= '9'));
    }
}
No obtuve errores en ningún caso, lo cual significa que todos los caracteres en el fichero de entrada son dígitos o fin de línea ('\n').
"Every problem has a simple, fast and wrong solution" OJ's Main Law. ;)

rvargas
Posts: 37
Joined: 7 years ago
Gender: None specified

Re: 1395 - Big Number II

Post by rvargas » 7 years ago

Está bien raro. De igual forma, muchas gracias por verificarlo.

User avatar
ymondelo20
Posts: 1968
Joined: 9 years ago
Location: Universidad de las Ciencias Informáticas
Gender: None specified
Contact:

Re: 1395 - Big Number II

Post by ymondelo20 » 7 years ago

Problema, resuelto... Dado que no habían caracteres raros, y todo está en los rangos... solo quedaba una alternativa posible, líneas en blanco de más.
Debe ser eso... rejuzgando los envíos RTE.
"Every problem has a simple, fast and wrong solution" OJ's Main Law. ;)

rvargas
Posts: 37
Joined: 7 years ago
Gender: None specified

Re: 1395 - Big Number II

Post by rvargas » 7 years ago

¡Muchas gracias!

Ya quedo como aceptado en Python sin el filtrado feo :D

Post Reply

Return to “Problem set”