İki adet odun vardır. Her ikisi de düz bir gövde ve vücudun altında bazı ekstra bloklardan oluşur. 0,4,7,9,10 konumlarında (0 dizinli) konumlarda fazladan blokları olan bir örnek parça:
XXXXXXXXXXX
X X X XX
Parça, 01
ikili konumda inci konumunda i
bir blok olup olmadığını gösteren ikili bir dizi olarak temsil edilebilir i
. Üstteki örnek olarak gösterilebilir 10001001011
.
İkincisini dikey olarak çevirerek (ve belki de yatay olarak çevirerek) iki parçayı bir araya getirebiliriz. Kapaklardan sonra, iki parçanın 3 yüksekliğe sahip olması için bir araya getirilebileceği bir hizalama bulabiliriz.
Two example pieces:
XXXXXXXXXXX XXXXXXXX
X X X XX XXX
Second piece flipped vertically and horizontally:
XXXXXXXXXXX
X X X XX
XXX
XXXXXXXX
Pieces put together:
XXXXXXXXXXX
XXXXX X XX
XXXXXXXX
Örnek toplam 12 blok genişliğiyle sonuçlanmıştır.
İki parçayı temsil eden giriş olarak iki dizge alan ve 3 yükseklikte ulaşılabilir minimum genişliğe bir tamsayı çıkaran bir program veya işlev yazmalısınız .
Giriş
- Karakterden oluşan iki dizeleri
0
ve1
. - Her iki dize de en az bir karakter içerir.
- İki dizeyi tek bir boşlukla birleştirilen bir olarak almayı seçebilirsiniz.
Çıktı
- Tek bir pozitif tamsayı, ulaşılabilir minimum toplam genişlik.
Örnekler
0 0 => 1
1 0 => 1
1 1 => 2
11 111 => 5
010 0110 => 5
0010 111 => 5
00010 11011 => 6
01010 10101 => 5
1001 100001 => 6
1110001100001 1100100101 => 14
001101010000101 100010110000 => 16
0010110111100 001011010101001000000 => 21
0010110111100 001011010101001001100 => 28
100010100100111101 11100101100010100100000001 => 27
0010 10111 => 5
0100 10111 => 5
0010 11101 => 5
0100 11101 => 5
10111 0010 => 5
10111 0100 => 5
11101 0010 => 5
11101 0100 => 5
Bu kod golf yani en kısa giriş kazanır.