Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas
Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas

sábado, 28 de junio de 2008

Control de Ira (Wrong Answer)

La frustración de un "Wrong Answer" en SPOJ. Todos los que hemos practicado allí la hemos sentido alguna vez. Pero no creo que nadie lo exprese tan abiertamente como este pana... XD



Ja ja ja ja ja...

viernes, 27 de junio de 2008

Prohibido usar "Punto y Coma"

En estos días me topé con un problema bien interesante para intentar resolver. La cosa va como sigue: Se tiene una cantidad fija de expresiones aritméticas de la forma , donde es un número entero de a lo sumo dos dígitos y es un operador de sum '+', resta '-' y multiplicación '*'. El objetivo del problema es calcular el resultado de dicha expresión aritmética e imprimirla. ¿Suena facil, no? Je je, pero ahora viene lo bueno. El código fuente no puede tener ni un solo punto y coma. Ademas, se mide la calidad un programa correcto, en proporción a la cantidad de caracteres que no sean espacios en blanco que usa el programa (incluyendo saltos de linea y tabs). Los lenguajes disponibles son C, C++, Pascal y Java (Aquellos que pensaban que sería facil en Haskell o que podrían sacar la mejor puntación con el lenguaje Whitespace).

Por mi parte pude encontrar una solución que funciona para C y C++. Estoy en el proceso de encontrar una para Java. Una pequeña (y no tanto) pista para resolver éste problema es la siguiente: Primero intentemos imprimir un "hola mundo" sin usar ningún punto y coma. El código sería el siguiente:

#include <stdio.h>

int main () {

    if (printf("hola mundo\n")) { }

}


Je je... Esto funciona por que en C/C++, los booleanos y los enteros son equivalentes :P. Además la función printf devuelve un número entero diferente de cero (si es exitoso) por lo que la expressión anterior es completamente valida y libre de puntos y comas.

Bueno, Si alguien quisiera intentar atacar este problema, pongo el Link a continuación (y hay muchos mas problemas como este en ésta página):

http://www.spoj.pl/problems/EXPR2/

;;;;;;;Enjoy;;;;;;;


Edit: Je je. Ya encontré la solución para JAVA. Les doy también una pistilla para el que quiera intentarlo. Ahí les vá el "hola mundo":

class Main {

    public static void main (String [] args) {

        if (System.out.append("hola mundo\n")!=null) { }

    }

}