Étant donné un entier positif n < 10
, créez une matrice bidimensionnelle où chaque emplacement est rempli avec son x
et son y
index (en partant du coin supérieur gauche).
Par exemple:
Entrée: 2
00 10
10 11
Entrée: 3
00 10 20
01 11 21
02 12 22
Une fois la grille créée, remplissez aléatoirement chaque index. Cela peut être avec un «x» ou tout autre moyen pour indiquer qu'un emplacement a été rempli.
Vous déterminez l'emplacement à remplir en générant de manière aléatoire des indices pour remplir la matrice. Vous ne pouvez remplir que n ^ 2 fois, vous ne pouvez donc pas remplir autant de fois que vous le souhaitez tant que la matrice n'est pas complètement remplie. À la fin, la matrice doit être remplie, vous devez donc faire un certain travail pour vous assurer de vérifier les nombres aléatoires que vous utilisez pour vous assurer que ce point n'est pas déjà rempli.
Actualisez ou imprimez après chaque remplissage afin de montrer la progression des itérations de remplissage.
Exemple de remplissage:
Entrée: 2
00 10
01 11
00
est choisi au hasard:
XX 10
01 11
01
est choisi au hasard:
XX 10
XX 11
00
est choisi au hasard, mais comme il a déjà été choisi, un relance choisit 10
:
XX XX
XX 11
11
est choisi au hasard:
XX XX
XX XX
N'imprimez pas les nombres aléatoires car visuellement, je devrais pouvoir voir quel index a été sélectionné. J'entends par là ne pas imprimer " 11
est choisi au hasard:". C'est ici pour des raisons exploratoires.
Puisqu'il s'agit de code-golf Le code le plus court l'emporte.
Amusez-vous et amusez-vous au golf!
n>= 10
possible? (vous devez alors commencer à connaître la longueur maximale pour remplir correctement les 0 à gauche). Le remplissage pour ce cas est un index à la fois, pas un chiffre à la fois, non?Réponses:
05AB1E , 29 octets
Essayez-le en ligne!
Espace choisi comme caractère pour les nombres supprimés (car il a l'air bien), mais il pourrait être remplacé par n'importe quel caractère sans affecter le nombre d'octets.
Explication
la source
Pip ,
41403836 octets35 octets de code, +1 pour le
-S
drapeau.Prend l'entrée de l'argument cmdline. Remplace par un espace (tout autre caractère est possible pour +1 octet). Génère des itérations successives séparées par une seule nouvelle ligne (ce qui est légal mais peut être un peu difficile à lire). Essayez-le en ligne!
Toutes sortes de sales tours dans celui-ci.La version plus courte a moins de trucs sales. : ^ (Explication:la source
n>=10
la randomisation ne fonctionne pas correctement, mais elle frappe toujours le brief. Pour les nombres supérieurs à 10, il supprime uniquement oùindex_i==index_j
. Une idée derrière la raison pour laquelle ce serait?(mi@##Pmi@0)
partie. J'ai mis plusieurs hacks réduisant les octets qui dépendent des indices à un seul chiffre.##
, je l'ai. Belle utilisation des hypothèses. Merci pour l'explication haha.Groovy (202 octets)
Ce format de sortie spécifique a vraiment gâché mon nombre d'octets, mais meh.
Essayez-le: https://groovyconsole.appspot.com/edit/5171951567896576 (+9 octets pour une impression plus jolie)
Non golfé:
Exemple de sortie:
la source
4x4
carré indexé 0 . Le carré lui-même est juste séparé par des sauts de ligne, ainsi que chaque itération est séparée par des sauts de ligne, donc la sortie fonctionne un peu ensemble.R,
848174 octetsUtilise désormais une indexation unique plutôt qu'une indexation nulle. Débarrassé de 7 octets grâce à @Billywob.
Exemple de sortie pour N = 3
la source
replace
:for(i in sample(N^2)){m[i]="XX";print(m)}
AWK, 229 octets
J'ai ajouté quelques octets pour donner à la sortie un espace entre chaque matrice.
Remarque: pour le rendre plus «aléatoire» entre les exécutions, un appel à
srand()
pourrait être ajouté pour 7 octets supplémentaires.Utilisation et sortie après avoir enregistré le code ci-dessus dans
FILE
:la source
PHP, 172 octets
Panne
la source
Python 2, 190 octets
la source