Tuenti Contest

B

#2 Al menos no pedian que fueran autónomos :D

tracker086

#30 SI eso hago yo, pero en C# no se xq, no me funcona. Es decir yo en mi programa, si no introduzco nada y presiono el enter, se me sale del programa. Pero encambio en el test_challenge.exe se me queda colgado el programa y es xq no sale del bucle. Xq ya lo he probado tirandole que haga una repeticion mas del bucle aparte de las pruebas, y hace lo mismo

tracker086

Uno de los codigos que he probado(q creo q es el q deberia ser) es este:

string input;
            while(( input = Console.ReadLine())!=null)
            {
                Console.WriteLine("1");
                input = Console.ReadLine();
            }

Y con ese no va, se queda pillado, en cambio si cambio para que haga 1, 2 3 repeticiones(menos de los inputs que hay) funciona...

Que es lo que hago mal? o es C#?

1 respuesta
HoTiTo

El otro día fueron las pruebas para todos aquellos ingenieros que querían irse a Alemania a trabajar. No me enteré muy bien, pero hubo un dato que se me quedó grabado a fuego. Sueldo para ingenieros SIN experiencia -> algo más de 40k € anuales. Y tras 3 años, 55k €.

Y estos de imbéciles wannabe-de-google pagando 750€ con un 1 año de experiencia (y siendo ingeniero claro).

Les deberían de prender fuego por hijos de puta e ir de nuevo paradigma de empresa tecnológica a la última.

FUCK YOU MOTHERFUCKERS.

juaja

#33 está de puta madre pero no leas otra vez la consola si con la linea de arriba ya la estás leyendo.

Tienes que hacerlo así, ya verás como en el test no se cuelga, eso si en tu pc no podrás terminar la ejecución a no ser que introduzcas un null que no sé ni siquiera si se puede xD.

string input;
            while(( input = Console.ReadLine())!=null)
            {
                       blab lab la
            }
Console.WriteLine(respuesta);
1 respuesta
Poisonous

A mí tb me parece muy wannabe google esto. (versión cutrísima eso sí, 0 de rigor matématico apra definir los problemas y el premio por ganar es rídiculo)

1 respuesta
tracker086

#35 si perdon se me colo un un readline. Lo he probado y con eso se me sigue colgando...La verdad q no se que puede ser, tu lo has probado sin que se te cuelgue?

Gracias por todo!

Eh vuelto a ponerles otro tweet con justo el bucle asi a ver si son capaces de contestarme xD

Sino pues a seguir mandando los challenges con repeticiones fijas del bucle xD

1 respuesta
Zeroner

No es tan difícil leer de stdin...
En cuanto al tlang lo único raro que tiene es que cuando el operador @ tiene un solo operando lo que hace es ponerlo en negativo.

Meleagant

¿Pero alguno habéis conseguido salir del bucle en C#?

Empiezo a pensar que es imposible. He probado de todo. Que la cadena esté vacía, que la cadena contenga el carácter EOT (ASCII 04), etc. y nada termina el bucle.

Si al menos dijesen qué interpretan ellos por EOF...

r2d2rigo

Pista: buscad otro metodo porque con el while no os va a dar EOF nunca :p

2 respuestas
B

#36 Hombre las pruebas que digamos tampoco son de un nivel alto, pero lo de los 750 es para ir y escupirles a la cara.

Meleagant

#40

Lo estoy haciendo leyendo directamente de un Stream con Console.OpenStandardInput()

Pero no da null en la puta vida -.-

PD: Creo que me estoy acercando xD

3 respuestas
tracker086

#40 Si sabes como hacerlo dinoslo!!ya que eso tampoco es que tenga que ver mucho con el concurso, sino con el lenguaje xD.

A mi la forma que se me ha ocurrido, es con un dispatcherTime es ir como comprobando cuanto hace desde el ultimo input metido.......y si llega a X(ponle 2 minutos por ejemplo, por si es un ejercicio q requiera mucha computacion como el 3), pues que cierre el programa...

#42 Si se lo sacas ya sabes!! porfi!! jaja

1 respuesta
Meleagant

#43

Llevo toda la mañana dándole vueltas, por fin lo he resuelto.

Te doy una pistaza, lo que tienes que hacer es tomar la entrada como un Stream de lectura, y la condición de salida del bucle es que el siguiente caracter que vas a leer está vacío.

NeB1

Por que nivel vais? yo ahora estoy con el 5, y solo se me ocurre una forma chapera de hacerlo.

Por cierto, si en c# os estais rallando para leer las líneas:

             string linea =Console.In.ReadLine();
             while (linea != null)
            {
                try
                {
                      linea = Console.In.ReadLine();
                }
                catch{}
            }

Quizás gastar Console.in no es lo más adecuado, pero funciona a la perfección.

3 respuestas
Meleagant

La prueba 2 es una puta broma.

Con los 3 casos que te dan hay varias formas posibles de obtener esos resultados. Supongo que la única forma de sacarlo seguro será lanzando el test y comprobando, pero vaya puta mierda de planteamiento.

#47

Acabo de empezar, muchas gracias. No es que me parezca difícil, es que directamente con el enunciado que te dan es imposible resolverlo porque tiene varias soluciones. El enunciado debería ser completo, y el test la prueba.

Están muy mal planteados los ejercicios.

2 respuestas
NeB1

#46 Ejecuta el test, pues te dará más pistas. Para mí ha sido la prueba más dificil, aunque también me he complicado la vida creando un analizador sintactico, lexico y un AST... xD

Si te quedas atascado mandame un MP y te diré una pista

1 respuesta
LOc0

Mmmmmm... ¡cuánta gente conocida y repestable jugando a esto! ¿Podéis pegar los enunciados de los problemas? Me está picando la curiosidad...

Salu2 ;)

r2d2rigo

#46, con las pistas que te dan y un poco de pensar, es facilisimo de sacar.

Pista: notacion polaca.

1 respuesta
Meleagant

#49

No digo que sea difícil. De hecho ya casi lo he solucionado (me falta lanzar el test y corregir con los nuevos datos...) pero sólo con los 3 ejemplos hay varias soluciones posibles. Y no deberías necesitar ninguna información que no esté en el enunciado para resolver el problema.

PD: Lo de la notación polaca está bastante claro, y además han metido símbolos de inicio y fin buscados a conciencia para picar un poco el uso de expresiones regulares. Pero teniendo en cuenta los 3 ejemplos, el segundo operando, por ejemplo, podría ser una suma, una multiplicación, o incluso una potencia.

La única forma de saberlo a ciencia cierta es tener más ejemplos, y esos ejemplos necesarios deberían darse en el enunciado, no en el test.

M

Pero por probar el test no pierdes nada, de hecho se puede hacer el test tantas veces como quieras.

juaja

#37 tio a mi si me funciona ese bucle, la verdad que no sé lo que puede ser :S

tracker086

#45 #42 Bueno voy a probar con lo que me habeis dicho y os comento.

Parece mentira, estoy tardando mas en solucionar eso, q en hacer los propios ejercicios jaja

Nucklear

Estaría bien que Pusieseis en #1 los enunciados para poder hacerlos los demas, aunque no se presente nada.

1 respuesta
tracker086

#54 Vale, si alguien tiene el 1 y 2 que lo ponga por aqui, de primeras los pondre de memoria xD

#45 Con tu codigo, lo he probado tal cual y se me sigue quedando colgado el test...estoy un poco harto jaja. He hecho un programa en blanco, q solo devuelve 2 todo el rato a cada iteracion. Y exactamente con el codigo que has puesto, y se queda colgado el test

1 respuesta
Nucklear

#55 Perfecto, a ver si entre todos sacamos el 100% de ejercicios.

BTW: En el ejercicio uno los input los metes tu por consola ¿no?, y en el dos, si usas regex lo sacas easy, ¿o lo veo demasiado facil?

1 respuesta
tracker086

#56 Actualizado los dos primeros de memoria y el tercero copiado. Si alguien me copia alguno mas, los voy poniendo.

Los input los lees por consola, con stdin. Y los output igual, los mnuestras por consola.

El 2º yo lo he exo con una pila ya que por ejemplo luego cuando pasas el test las expresiones son mas tochas como: = # # 130 272$ @ 214$$ 93$

entonces con una pila me resulto bastante facil

tracker086

#45 #42 he estado probando las 2 cosas y nada... no lo consigo, uso win 7 64bits, no creo q sea por eso, pero la verdad que ya no se q cosas probar xd

NeB1

Bueno, pero igualmente por lo que comentas ya tienes hecha la prueba, no? Que resultados os da el test del nivel 5????

Vale nada, ya lo tengo xD cada vez hago tonterias mas gordas >.<

#60 xDDDDDD ok XDD

1 respuesta
tracker086

#59 Si la tengo hecha, pero poniendo bucles finitos, por ejemplo si veo q el test tiene 5 pruebas, pues un bucle q itere 5 veces xD cutre no, lo siguiente.. xd como luego pasen otra tanda de pruebas, va a petar por todos los lados xd

1 respuesta