Dato un numero intero positivo n < 10
, crea una matrice bidimensionale in cui ogni posizione è riempita con il suo x
e l' y
indice (a partire dalla parte superiore sinistra).
Per esempio:
Ingresso: 2
00 10
10 11
Ingresso: 3
00 10 20
01 11 21
02 12 22
Una volta creata la griglia, riempire casualmente ciascun indice. Questo può essere con una 'x' o qualsiasi altro modo per indicare che un punto è stato riempito.
Determinate quale posizione riempire generando casualmente indici per riempire la matrice. Puoi riempire solo n ^ 2 volte in modo da non poter riempire tutte le volte che vuoi fino a quando la matrice è completamente riempita. Alla fine la matrice deve essere riempita, quindi devi fare un po 'di lavoro per assicurarti di controllare i numeri casuali che usi per riempire per assicurarti che lo spot non sia già riempito.
Aggiorna o stampa dopo ogni riempimento per mostrare la progressione delle iterazioni di riempimento.
Esempio di riempimento:
Ingresso: 2
00 10
01 11
00
viene scelto casualmente:
XX 10
01 11
01
viene scelto casualmente:
XX 10
XX 11
00
viene scelto casualmente, ma poiché è già stato scelto un re-roll sceglie 10
:
XX XX
XX 11
11
viene scelto casualmente:
XX XX
XX XX
Non stampare i numeri casuali come visivamente dovrei essere in grado di vedere quale indice è stato selezionato. Con questo intendo non stampare " 11
è scelto casualmente:". È qui per amor di esplorazione.
Dato che si tratta di code-golf, vince il codice più corto.
Buon divertimento e buon golf!
n>= 10
possibile? (devi iniziare a conoscere la lunghezza massima per compilare correttamente gli 0 iniziali quindi). Il riempimento per quel caso è un indice alla volta, non 1 cifra alla volta, giusto?