Mayın Tarlası tarlalarını oluşturduk , ancak birisinin PCG patlamasından önce bu mayınları taraması gerekiyor!
Göreviniz , “Çalışma Mayın Tarlası” nın kabul edilen çözümünün biraz değiştirilmiş bir sürümüyle uyumlu bir Mayın Tarlası Çözücü yazmaktır (eylemler, daha büyük alanlara izin vermek için boşluklarla ayrılmıştır).
Giriş: Bir Mayın Tarlası alanı, boşluklarla ayrılmış alanlar. İlk satır toplam mayın sayısını gösterir.
x
: El değmemiş!
: Bayrak- Rakam: Bu alanın etrafındaki mayın sayısı
Örnek:
10
0 0 1 x x x x x
0 0 2 x x x x x
0 0 2 ! x x x x
0 0 1 2 x x x x
0 0 0 1 x x x x
1 1 0 2 x x x x
x 1 0 2 x x x x
1 1 0 1 x x x x
Çıktı: Biçimdeki bir sonraki adımınız action row column
(sıfırdan başlayarak)
Geçerli Eylemler:
0
: Aç onu1
: Bir bayrak yerleştirin
Örnek:
0 1 2
Kurallar:
- Giriş olarak tek bir alan alan (STDIN veya komut satırı argümanları) tek bir eylem (STDOUT) veren eksiksiz bir program yazıyorsunuz. Bu nedenle, hariç durumları kaydedemezsiniz
!
. - Seçiminiz hayatta kalmak için en iyi oranları takip etmeli. (yani% 100 güvenli bir hareket varsa, al)
- Bu kod golf ; en kısa çözüm (UTF-8 baytlarda) kazanır
Testler:
Bu testler, ortak net durumlar için test etme amacına hizmet eder; Programınız her test alanı için çalışmalıdır.
İçinde:
4
x x x x
1 2 x x
0 1 2 x
0 0 1 x
Dışarı (bunlardan herhangi biri):
1 1 2
0 0 2
0 1 3
İçinde:
2
x x x
1 ! x
1 1 x
Dışarı (bunlardan herhangi biri):
0 0 0
0 0 1
0 1 2
0 2 2
1 0 2
İçinde:
10
x x x x x x x x
1 3 3 x x x x x
0 1 ! 3 3 4 x x
0 2 3 ! 2 3 x x
0 1 ! 2 2 ! x x
Dışarı (bunlardan herhangi biri):
1 1 5
1 0 2
İçinde:
2
x x x
2 3 1
! 1 0
Dışarı (bunlardan herhangi biri):
0 0 1
1 0 0
1 0 2
0 0 2
veya ile hareket edebiliyorsun 0 1 3
? Bunlardan birinin nasıl güvenli sayılacağını göremiyorum. (Mayın
F
veya P
daha iyi bayrak görünüyor !
:)