Bir binarray'ı aşağıdaki özellikleri sağlayan bir dizi olarak tanımlarız :
- boş değil
- ilk değer bir
1
- son değer bir
1
- diğer tüm değerler
0
ya1
Örneğin, dizi [ 1, 1, 0, 1 ]
geçerli bir binarray .
Görev
Boş olmayan dizi Verilen bir negatif olmayan tamsayılar ve tamsayı pozitif N , işiniz bulmaktır binarray B uzunluğunun N oluşturmasına olanak sağlar A kopyalarının sınırsız sayıda toplayarak B , sınırsız sayıda kaydırılacaktır pozisyonlar.
Örnek
A = [ 1, 1, 2, 4, 1, 2, 2, 1, 0, 1, 0, 1, 1, 0, 1 ]
N = 4
Bu girdi için binarray B = [ 1, 1, 0, 1 ]
geçerli bir cevap olacaktır, çünkü şunları yapabiliriz:
[ 1, 1, 0, 1 ]
+ [ 1, 1, 0, 1 ]
+ [ 1, 1, 0, 1 ]
+ [ 1, 1, 0, 1 ]
+ [ 1, 1, 0, 1 ]
+ [ 1, 1, 0, 1 ]
-----------------------------------------------
= [ 1, 1, 2, 4, 1, 2, 2, 1, 0, 1, 0, 1, 1, 0, 1 ]
kurallar
- Giriş, herhangi bir makul formatta alınabilir.
- Çıktı yerel bir dizi (örn.
[1, 1, 0, 1]
) Veya ayırıcı olan veya olmayan bir ikili dize olabilir (örneğin"1,1,0,1"
veya"1101"
) - Yalnızca bir geçerli binarray yazdırmanız veya iade etmeniz gerekir . Alternatif olarak, birkaç çözüm olduğunda hepsini yazdırabilir veya iade edebilirsiniz .
- Herhangi bir çözüme yol açmayan girişleri desteklemeniz gerekmez.
- Toplam, B'nin herhangi bir kopyasıyla örtüşmeyen örtük sıfırları içerebilir . Yukarıdaki toplamdaki ikinci sıfır, böyle açık bir sıfırdır.
- A maksimum boyutunun 100, B maksimum boyutunun 30 olduğunu varsayabilirsiniz .
- Bu kod golf, yani bayt cinsinden en kısa cevap kazanır. Standart boşluklar yasaktır.
Test durumları
Input : N = 1 / A = [ 1, 2, 3, 4, 5 ]
Output: [ 1 ]
Input : N = 2 / A = [ 1, 2, 100, 99 ]
Output: [ 1, 1 ]
Input : N = 3 / A = [ 1, 1, 1 ]
Output: [ 1, 1, 1 ]
Input : N = 3 / A = [ 1, 1, 3, 2, 2 ]
Output: [ 1, 1, 1 ]
Input : N = 3 / A = [ 1, 0, 2, 1, 1, 1, 0, 0, 1, 0, 1 ]
Output: [ 1, 0, 1 ]
Input : N = 4 / A = [ 1, 2, 2, 2, 1 ]
Output: [ 1, 1, 1, 1 ]
Input : N = 4 / A = [ 1, 1, 2, 4, 1, 2, 2, 1, 0, 1, 0, 1, 1, 0, 1 ]
Output: [ 1, 1, 0, 1 ]
Input : N = 4 / A = [ 1, 1, 0, 2, 1, 0, 1 ]
Output: [ 1, 0, 0, 1 ] or [ 1, 1, 0, 1 ]
Input : N = 5 / A = [ 1, 3, 6, 9, 8, 6, 3, 4 ]
Output: [ 1, 1, 1, 0, 1 ]
Input : N = 8 / A = [ 2, 1, 0, 2, 3, 3, 1, 2, 1 ]
Output: [ 1, 0, 0, 1, 1, 1, 0, 1 ]
Input : N = 10 / A = [ 1, 2, 1, 2, 2, 1, 3, 3, 3, 2, 3, 0, 2, 1, 1, 0, 1 ]
Output: [ 1, 1, 0, 1, 0, 1, 1, 1, 0, 1 ]
Input : N = 13 / A = [ 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1 ]
Output: [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ]
Input : N = 5 / A = [ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 ]
Output: [ 1, 1, 1, 1, 1 ]
Input : N = 6 / A = [ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 ]
Output: [ 1, 0, 0, 0, 0, 1 ]
Input : N = 7 / A = [ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 ]
Output: [ 1, 1, 0, 0, 0, 1, 1 ]
Input : N = 9 / A = [ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 ]
Output: [ 1, 0, 1, 0, 1, 0, 1, 0, 1 ]
N=4, A = [ 1, 1, 2, 4, 1, 2, 2, 2, 1, 2, 2, 1, 2, 0, 1 ]
, hem 11 hem de 13 tarafından bölünebilen 30459'u alırsınız, ancak bunlardan sadece biri [ 1, 1, 0, 1 ]
ve [ 1, 0, 1, 1 ]
geçerli bir cevaptır.
N
Makul olarak desteklenmesi gereken en büyük değer nedir ?