Bu zorluğun amacı bir tek boyutlu parçaların bir koleksiyonunun sınırlı bir sürekli yığın oluşturmak için döşenip döşenemeyeceğini belirlemektir.
Bir parça , boş olmayan, sonlu bir sıfırlar dizisidir ve bunlarla başlar ve biter. Bazı olası parçalarıdır 1
, 101
, 1111
, 1100101
.
Fayans , parçaları tek bir bitişik blok oluşacak şekilde düzenlemek anlamına gelir. Bir parçadan bir tanesi, sıfır yerine, birini değil de başka bir parçadan geçebilir.
Aynı şekilde, birini "katı malzeme" olarak ve sıfırı "delik" olarak görürsek, parçaların herhangi bir delik bırakmadan tek bir gerdirme oluşturacak şekilde sığması gerekir.
Bir döşeme oluşturmak için, parçalar sadece bir boyutlu boşlukları boyunca kaydırılabilir . (Bölünemezler veya yansıtılamazlar). Her parça tam bir kez kullanılır.
Örnekler
Üç adet 101
, 11
, 101
her parça gerekli kaymasıyla temsil edilir aşağıda gösterildiği gibi kiremitli olabilir:
101
11
101
Böylece elde edilen döşeme
111111
İkinci bir örnek olarak, parçalar 11011
ve 1001101
döşenemez. Özellikle, kayma
11011
1001101
geçerli değil çünkü iki çarpışan var; ve
11011
1001101
geçerli değil çünkü sonuç sıfır içerecek.
Ek kurallar
Giriş , bir veya daha fazla parçadan oluşur. Herhangi bir makul formata izin verilir; Örneğin:
- Her dizenin iki farklı, tutarlı karakter içerebileceği bir dizge listesi;
- Her dizinin bir parça için olanların pozisyonlarını içerdiği birkaç dizi;
- Her sayının ikili gösterimi gibi (tek) tamsayıların listesi bir parçayı tanımlar.
Çıkış bir döşeme mümkündür ve bir falsy değeri, aksi takdirde bir truthy değer olmalıdır. Çıktı değerlerinin tutarlı olması gerekmez; yani, farklı girdiler için farklı olabilirler.
Herhangi bir programlama dilinde programlara veya fonksiyonlara izin verilir . Standart boşluklar yasaktır.
Bayt cinsinden en kısa kod kazanır.
Test durumları
Her giriş farklı bir satırda
Truthy
1
111
1, 1
11, 111, 1111
101, 11, 1
101, 11, 101
10001, 11001, 10001
100001, 1001, 1011
10010001, 1001, 1001, 101
10110101, 11001, 100001, 1
110111, 100001, 11, 101
1001101, 110111, 1, 11, 1
Falsy
101
101, 11
1, 1001
1011, 1011
11011, 1001101
1001, 11011, 1000001
1001, 11011, 1000001, 10101
101101
, sonlu sayıları bitişik bir blok ile sonuçlanmasa da, benzer şeyler gerçek olmaz.