Dessiner en binaire avec de l'ASCII

a marqué ce sujet comme résolu.

Bonsoir,

J'aimerais vous proposez, avant les fêtes un petit challenge. Les vacances débutant ce soir (pour la plupart), cela vous donnera un peu de travail pour vos vacances si vous n'en aviez pas assez.

Objectif

Votre mission si vous l'acceptez sera de dessiner une image. Bon, certes ce ne sera pas une vraie image avec plein de couleurs, non, on va juste se restreindre à deux symboles : le point "." et le dièse "#". De surcroît, le modèle vous est donné.

Je sens venir un piège, quel est-il ?

Ok, le piège est le suivant : Pour dessiner l'image, vous avez le droit seulement à deux instructions :

  • SQUARE x y n qui signifie dessiner un carré rempli de "#" de centre en x y et de taille $2n+1$. En particulier pour juste dessiner la case x y vous utiliserez SQUARE x y 0.
  • ERASE x y qui signifie de remplacer la case x y par le symbole "."

Puisque c'est un challenge, votre objectif va être de minimiser le nombre d'actions à utiliser pour reproduire le modèle.

Input

En entrée, votre programme prendra un fichier modèle. Ce fichier est constitué seulement des symboles "." et "#".

......

.####.

.#..#.

.####.

......

Output

Votre programme fournira un ensemble d'instructions de la forme ERASE x y ou SQUARE x y n qui permettent de reproduire le modèle.

SQUARE 2 2 1

SQUARE 2 3 1

ERASE 2 2

ERASE 2 3

Résultats

Puisque c'est un challenge, votre objectif est donc de minimiser le score (le nombre d'instructions en sortie) de votre programme sur un (peut-être plusieurs) jeux d'essais.

Le modèle de base que je vous fournis se trouve à l'adresse suivante : Modèle1

Afin de vous aidez dans la conception de votre algorithme, j'ai concocté un petit programme qui vérifie que la solution donnée par votre programme est correcte. Je le rendrais disponible dans la soirée je pense.

Pour chaque personne participant au challenge, je mettrais à jour un tableau correspondant avec les scores.

Il est temps pour moi de vous souhaitez bonne chance !

Amuesez-vous bien ;)


  1. Si vous avez un meilleur site d'upload je suis preneur 

+6 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte