Mayın Tarlası , hangi karolara tıklayıp hangi karoların "mayın" olduğunu keşfetmeniz gereken popüler bir bulmaca oyunudur. Her karo bir mayın (temsil edilen *
) veya bir ipucudur, yani 8 komşu karodan kaçının mayın olduğunu gösteren 0 ila 8 arasında bir sayıdır. Bugün sizin göreviniz madenleri içeren bir tahta almak ve tüm ipuçlarını doldurmak. Örneğin, 5 adet mayınlı 5x4'lük tahtaya bakınız:
*
* *
*
*
İpuçlarını doldurduktan sonra tahta şöyle görünecektir:
2*211
*33*1
12*32
0112*
ayrıntılar
Yalnızca bir boşluk ve yıldız işaretleri içeren bir karakter ızgarasına giren ve her boşluğun bitişik mayınların (yıldız işaretlerinin) sayısıyla değiştirildiği başka bir ızgara çıkaran bir tam program veya bir işlev yazmalısınız. Bunlardan herhangi biri ızgaralarınız için kabul edilebilir biçimlerdir:
İçinde newlines olan bir dize
2B karakter / tek karakter dizgisi listesi
Dizelerin listesi
Izgaraların en az 1x1 olacağını varsayalım , bununla birlikte tüm mayınlar veya tüm alanlar olması mümkündür.
Giriş ızgarası her zaman uygun sayıda boşlukla doldurulur. Her zaman olduğu gibi, bu kod golf , bu yüzden standart boşluklar uygulanır ve bayt cinsinden en kısa cevap kazanır!
Örnek io
Beyaz alanı görebilmeniz için, tüm örnek IO'yu etrafına parantez ile göstereceğim.
Input:
[ * ]
[* ]
[ ]
[ ]
[ ** ]
[ * * ]
Output:
[1101*1]
[*10111]
[110000]
[012210]
[12**21]
[1*33*1]
Input:
[****]
[****]
Output:
[****]
[****]
Input:
[ ]
[ ]
[ ]
[ ]
Output:
[000]
[000]
[000]
[000]
Input:
[* ]
[** ]
[ ]
[ *]
Ouput:
[*310]
[**10]
[2221]
[001*]
Input:
[** ]
[* *]
[ * ]
[ ]
[* ]
[**** ]
Output:
[**1011]
[*4211*]
[12*111]
[121100]
[*43210]
[****10]
Input:
[ * ]
[ * ]
[ * ]
[** *** ]
[ *** ]
[ ]
[ ** ]
[ * * ]
[* ** ]
[ ** ]
Output:
[00001*1111]
[00002221*1]
[22102*4321]
[**102***31]
[221013***1]
[0000013542]
[0112111**1]
[12*2*12442]
[*212112**2]
[1100002**2]