두 조각의 나무가 있습니다. 둘 다 직선 몸체와 몸체 아래에 여분의 블록이 있습니다. 0,4,7,9,10 위치에 (0- 인덱싱 된) 위치에 추가 블록이있는 예제 조각 :
XXXXXXXXXXX
X X X XX
피스는 th 위치에 블록이 있는지를 나타내는 th 문자 로 01
이진 시퀀스 로 표시 될 수 있습니다 . 위의 예는로 표시 될 수 있습니다 .i
i
10001001011
우리는 두 번째 것을 수직으로 뒤집어서 (그리고 아마도 수평으로 뒤집어서) 두 조각을 모을 수 있습니다. 뒤집기 후에 우리는 두 조각의 높이가 3이되도록 정렬 할 수 있습니다.
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
이 예에서는 총 너비가 12 블록입니다.
두 조각을 나타내는 입력으로 두 개의 문자열을 수신 하고 높이가 3 인 최소 달성 가능 너비 를 정수로 출력하는 프로그램 또는 함수를 작성해야합니다 .
입력
- 문자로 구성된 두 문자열
0
과1
. - 두 문자열 모두 하나 이상의 문자를 포함합니다.
- 하나의 공백으로 연결된 두 개의 문자열을 수신하도록 선택할 수 있습니다.
산출
- 달성 가능한 최소 총 너비 인 단일 양의 정수
예
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
이것은 코드 골프이므로 가장 짧은 참가작이 승리합니다.