Görev:
Sorunu düşünün: "bir kare eksik bir satranç tahtası verildiğinde, 21 L-triomino'ya kesin". Bunun, ikisinin gücü olan herhangi bir kare satranç tahtası boyutu için yapılabileceğinin iyi bilinen bir yapıcı kanıtı vardır. Satranç tahtasını, içindeki delik ve bir büyük triomino ile daha küçük bir satranç tahtasına bölerek ve daha sonra triomino'nun özyineli olarak dört triominoya kesilebileceğini gözlemleyerek çalışır.
Bu görevde, 8x8 satranç tahtasını L-şekilli triominolara kesmeniz ve daha sonra onları iki renkle boyamanız gerekir, böylece iki bitişik triomino aynı renkte olmaz.
Şartname:
Girişiniz, bir tamsayı çifti olarak verilen deliğin konumudur. Hangisinin sütun dizini ve hangisinin satır dizini olacağını seçebilirsiniz. Her birinin 0'da mı yoksa 1'de mi başlayacağını ve hangi köşeden artacağını seçebilirsiniz. 0..7 veya 1..8 yerine ilk koordinat olarak A..H'ye gereksinim duyabilirsiniz. Ayrıca her iki koordinatı da tek sözlük olarak 0..63 veya 1..64 tamsayısına (satır-büyük veya sütun-büyük, soldan sağa veya sağdan sola, yukarıdan aşağıya veya aşağıdan yukarıya) kabul edebilirsiniz. Tam bir program veya bir işlev yazabilirsiniz.
Döşemeyi ASCII olarak, renkli ASCII olarak veya grafiksel ilkel olarak alabilirsiniz. ASCII çıktısını seçerseniz, dört rengi temsil etmek için yazdırılabilir dört ASCII karakterini seçebilirsiniz. Renkli ASCII'yi seçerseniz, yazdırılabilir dört ASCII karakterini veya boşluk dışında yalnızca bir karakteri seçebilirsiniz. Delik, boşluk karakteri ile temsil edilmelidir. Karakterlerinizden biri boşluk karakteri ise, deliğe veya satranç tahtası kenarına bitişik hiçbir triomino bu renkte olmayabilir.
Renkli ASCII veya grafik çıktıyı seçerseniz, # 000, # 00F, # 0F0, # 0FF, # F00, # F0F, # FF0, #FFF veya ortamınızdaki en yakın eşdeğerlerinden herhangi dört rengi seçebilirsiniz. Grafik çıktı seçerseniz, grafik temel öğeleriniz en az 32x32 piksel boyutunda karelerle doldurulmalı ve diğer renklerden en fazla iki pikselle ayrılmalıdır. Yukarıdakiler ortamınızın ekran çözünürlüğünü aşarsa, minimum boyut gereksinimi hala ekrana uyan en büyük kare boyutuna kadar rahatlar.
Verilen satranç tahtasının herhangi bir geçerli döşemesini seçebilirsiniz. Seçtiğiniz döşemenin herhangi bir dört rengini seçebilirsiniz. Dört renk seçiminiz tüm çıktılarda aynı olmalıdır, ancak her çıktıda her rengi kullanmanız gerekmez.
Örnekler:
Giriş için olası çıkış = [0, 0] (sol üst köşe)
#??##??
##.?#..?
?..#??.#
??##.?##
##?..#??
#.??##.?
?..#?..#
??##??##
Aynı programın başka bir olası çıktısı (input = [0, 7]):
??#??#?
?##?##??
..xx..xx
.?x#.?x#
??##??##
..xx..xx
.?x#.?x#
??##??##
"D1" girişi için farklı bir program da üretilebilir (standart dışı ancak izin verilen satranç tahtası yönüne dikkat edin),
AABBCCAA
ACBACBAC
CCAABBCC
ABBAADD
AABDABDC
BBDDBBCC
BABBACAA
AABAACCA