Giriş
Tangrams , blokları çeşitli şekillere yerleştirmeyi / yerleştirmeyi içeren klasik bir bilmecedir. Çin 七巧板 - kelimenin tam anlamıyla "yedi beceri kurulu" anlamına gelir. Bu fikri ele alalım ve bir ızgarayı doldurmak için yedi Tetrominos parçasını kullanalım .
Meydan okuma
Bir dizi ızgara koordinat dizisini girdi olarak alan ve belirtilen koordinatlar dışında Tetris parçalarıyla dolu tamamlanmış 10-20 ızgara çıktısı veren bir işlev veya program yazın.
Parçaların dağılımını eşit tutmaya çalışarak puanınızı optimize edin.
Kriterler
Görevinizi gerçekleştirmek için bu koordinat hamurunu kullanın . Beş takım koordinat vardır. Koordinatların yazıldığı biçimi değiştirmekten çekinmeyin, ancak değerleri değiştirmeyin.
Veri kümesi # 2 çözülemez - bu durumda, ızgarayı giriş hücreleri doldurulmuş olarak (yani, X
deliklerin bulunduğu yerler) çıktılayın.
Giriş
Izgara koordinatları, ızgaradaki 'delikleri' temsil eder. Bunlar bir Tetromino'nun herhangi bir bölümünü içeremeyen hücrelerdir.
Izgara koordinatları:
(0,0), (1,0), (2,0), ... (9,0)
(0,1), (1,1), (2,1), ... (9,1)
.
.
.
(0,19), (1,19), (2,19), ... (9,19)
Koordinatları girmek için programlama dilinizin dizi stilini kullanın.
Izgaradaki delikleri bir
X
veya başka bir yazdırılabilir ASCII ile temsil edin .
Çıktı
20 hücre boyunda 10 hücre genişliğinde standart bir Tetris ızgara boyutu kullanarak , ancak ızgara Tetromino parçaları kullanılarak tamamen ve mükemmel bir şekilde doldurulabiliyorsa bir çözüm ızgarası yazdırın.
Harfleriyle inşa adet I
, O
, L
, J
, T
, Z
, S
aşağıdaki gibi:
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
Misal
Giriş koordinatı olmayan çıktı çözümü örneği:
ZZIIIILLLI
JZZTTTLLLI
JJJSTLOOLI
SZZSSLOOLI
SSZZSLLJJI
TSOOSLLJII
TTOOSSLJII
TZOOSSLZII
ZZOOSSZZII
ZJJJJSZLLI
TTTJJOOILI
ITZJJOOILI
IZZTTTLIII
IZOOTZLIII
IJOOZZLLII
LJJJZSSTII
LLLTSSTTTI
LLLTTSSZJI
OOLTSSZZJI
OOIIIIZJJI
Dağıtım ile aşağıdaki gibi:
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
11 6 8 6 6 7 6
notlar
Koordinatlar bir tek X
ve Y
ızgaradaki konumu temsil eder . Izgara 0 tabanlıdır, yani koordinat (0,0)
ya sol üst ya da sol alt hücre olmalıdır, yazarın tercihi.
Tuğla şunları yapabilir:
- yazarın takdirine bağlı olarak seçilmelidir.
- yazarın uygun gördüğü şekilde döndürülmelidir.
- ızgaraya yazarın inisiyatifinde herhangi bir yere yerleştirilebilir (aka: Tetris yerçekimi yok)
Tuğlalar şunları yapamaz:
- ızgara sınırlarının dışına yerleştirilmelidir.
- ızgaradaki mevcut bir tuğla veya deliğin üstüne biner.
- standart olmayan bir Tetris tetromino parçası olabilir.
puanlama
Puanınız şu biçimde:
(1000 - [koddaki bayt]) * (M / 10 + 1)
M, çözüm setlerinizde kullanılan parçaların dağılımı için bir çarpandır.
Mart ayının en yüksek puanı kazanır.
M'yi hesaplamak için, her set için en düşük bireysel tetromino dağılım değerini ekleyin ve ardından M'yi hesaplamak için yuvarlanmış ortalamayı alın.
Örneğin:
Set 1: 5
Set 2: 4
Set 3: 5
Set 4: 6
Set 5: 3
6 + 4 + 5 + 4 + 4 = 21/5 = 4.6
Böylece M değeriniz 4
olarak kullanabilirsiniz .
Not: Bir kümenin çözümü yoksa, tetromino dağılımı olmayacağı için M'nin hesaplanmasına dahil edilen faktörleri dikkate almayın.