podriamos mandar las soluciones por privado, y asi evitar el robo de ideas :P
nunca trabaje con pic24, habra alguna posibilidad de hacer el algoritmo en gcc y despues tratar de portarloLo normal es que el código sea independiente de la plataforma y del compilador. Si usas las librerías más comunes de C seguro que el código no necesita ninguna modificación para compilarlo con C30 o CCS.
podriamos mandar las soluciones por privado, y asi evitar el robo de ideasNo me parece mala idea. La idea era que cada usuario valorase los códigos de los demás usuarios, pero es cierto que seria muy difícil no dejarse influenciar. Se podrían enviar por privado los códigos, indicar en el hilo la versión que cada uno va enviando, si el código es para alguna categoría en concreto... y el dia 20 publico todos los codigos, durante una semana la gente que quiera los prueba, los vota(también por privado) y el día 25 se publican los ganadores.
Entiendo que el algoritmo no recibirá ninguna entrada y devolverá la salida mediante printf() a la salida por defecto, ¿verdad?.Sip. Aun no tengo preparado el main.c con las funciones básicas para el concurso, pero supongo que con usar el printf sera suficiente.
Quizás estaría bien preparar un pequeño esqueleto en Proteus para poder ejecutar las soluciones sin necesidad de montar el circuito en real.Las soluciones, como en el mini-concurso anterior, se pueden probar en el MPLAB. Con el MPLAB SIM como debugger la opción de UARTIO habilitada. De esta manera aparece una pestaña en la ventana Output que se llama "Sim Uart1" que permite visualizar lo que imprime un printf.
Una pregunta, ¿la posición de la foto de abajo es válida? ¿No, verdad?Nop, no lo es.
¿El archivo main.c ya es definitivo?Aun no, el original lo publicaré el día 5. Sera lo mismo, pero con las modificaciones que hagan los concursantes.
no seria mas facil definir un arreglo 8x8 cuyo contenido sea 0 ó 1 dependiendo si hay reina o noSupongo que si que seria mas sencillo. Creo que seria conveniente que cada usuario pueda definir las estructuras tablero y casilla a su gusto.
Dices que se pueden añadir o eliminar cualquier cosa en estructuras y funciones...Si, así cada concursante podrá trabajar más cómodo.
...entiendo que lo único que hay que respetar son los nombres de las mismas para que el main funcione, ¿no?En principio si que hay que mantener los nombres, pero si alguien cree que puede obtener un código mejor modificando también el main...es libre de hacerlo. Siempre el mensaje impreso sea comprensible.
¿Eso significa que podemos montar otra estructura distinta de casillas y tablero?Si, cada usuario puede definir las estructuras como mas le convenga, así habrá códigos mas variados...
¿Se vale usar C# en vez de C?No, el concurso es en C, y el programa se compilará con el MPLAB o el CCS.
Ya terminé mi algoritmo.Ok, lo he revisado y parece todo correcto. No es compatible con el "main.c", pero es igual. No lo he probado con el MPLAB, aunque seguro que funciona con algunas modificaciones mínimas.
Vientos Jgpeiro.¿que significa?
¿el tiempo de 3 minutos es al simularlo en tu pc o el tiempo que da el stopwatch de mplab?Es el tiempo que aparece en el stopwatch, claro, y por eso especifico la velocidad del pic y las instrucciones ejecutadas en ese tiempo. Simularlo en el PC tarda bastante más, quizás 10 o 15 min...
Yo tengo algo pensado para descartar todas las posibilidades donde las reinas se atacan por filas o columnasPues creo que seria interesante que participases. De momento los dos algoritmos que hay publicados solo "eliminan" la posibilidad de que dos reinas estén en la misma fila, o columna, según se mire. Pero si tu algoritmo evita ambos casos a la vez sera mucho más rápido...
CitarYo tengo algo pensado para descartar todas las posibilidades donde las reinas se atacan por filas o columnasPues creo que seria interesante que participases. De momento los dos algoritmos que hay publicados solo "eliminan" la posibilidad de que dos reinas estén en la misma fila, o columna, según se mire. Pero si tu algoritmo evita ambos casos a la vez sera mucho más rápido...
¿De verdad no soporta la recursividad el CCS?¿ni para los PIC de 16 bits? Si es así, yo no utilizaría más ese compilador. ¿Porque la gente lo utiliza tanto si luego, según leo, tiene más limitaciones que el C30?
¡Lo logré!
Reconozco que picado por la asombrosa velocidad del algoritmo de Omix no he parado de darle vueltas al coco a ver de dónde podía recortar ciclos de programa hasta que se me ocurrió la idea.
Os dejo el algoritmo en su nueva versión y una captura de pantalla del Stopwatch: ¡¡¡77ms en 4671897 ciclos!!!.
(http://img43.imageshack.us/img43/5536/reinas.jpg)
De todas formas, estoy convencido que en cuanto Omix le eche una pensada al suyo batirá el record, yo ya no tengo de donde recortar.
Nueva versión: "Reinas Vista"
(http://img43.imageshack.us/img43/8356/reinasy.jpg)
Te lo advierto, Omix, no sigas, que tengo que trabajar :D
y pues ya sabrán que opino al decir que la rapidez de mi algoritmo es -4Quizas sea lento, pero es un algoritmo facil de entender y eso siempre es positivo. Ademas, voy a descalificar a nocturno y a omix por utilizar un algorimo mas rapido y no avisarnos de nuestro fracaso!!!
migsantiago 4 1 1 xnocturno, no vale escaquearse, tienes que puntuarte a ti mismo también, así si ganas te acusaremos de imparcialidad...jajaja
jgpeiro 4 1 1 x
omix 2 3 4 x
Bu, faltan los votos de Omix y del organizador Jgpeiro.Si, este jgpeiro...que vergüenza...