Повторите повторяющиеся повторения

24

Ваша задача - сгенерировать эту строку:

011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000011010110101101001101011010110101101011010110100110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000110101101011010011010110101101011010110101101001101011010110100110101101011010110101101011010011010110101101001101011010110101101011010110100110101101011010000

или разбить на строки длиной 80:

01101011010110100110101101011010110101101011010011010110101101001101011010110101
10101101011010011010110101101001101011010110101101011010110100110101101011010000
11010110101101001101011010110101101011010110100110101101011010011010110101101011
01011010110100110101101011010011010110101101011010110101101001101011010110100001
10101101011010011010110101101011010110101101001101011010110100110101101011010110
10110101101001101011010110100110101101011010110101101011010011010110101101000110
10110101101001101011010110101101011010110100110101101011010011010110101101011010
11010110100110101101011010011010110101101011010110101101001101011010110100001101
01101011010011010110101101011010110101101001101011010110100110101101011010110101
10101101001101011010110100110101101011010110101101011010011010110101101000011010
11010110100110101101011010110101101011010011010110101101001101011010110101101011
01011010011010110101101001101011010110101101011010110100110101101011010001101011
01011010011010110101101011010110101101001101011010110100110101101011010110101101
01101001101011010110100110101101011010110101101011010011010110101101000011010110
10110100110101101011010110101101011010011010110101101001101011010110101101011010
11010011010110101101001101011010110101101011010110100110101101011010000011010110
10110100110101101011010110101101011010011010110101101001101011010110101101011010
11010011010110101101001101011010110101101011010110100110101101011010001101011010
11010011010110101101011010110101101001101011010110100110101101011010110101101011
01001101011010110100110101101011010110101101011010011010110101101000011010110101
10100110101101011010110101101011010011010110101101001101011010110101101011010110
10011010110101101001101011010110101101011010110100110101101011010000110101101011
01001101011010110101101011010110100110101101011010011010110101101011010110101101
00110101101011010011010110101101011010110101101001101011010110100011010110101101
00110101101011010110101101011010011010110101101001101011010110101101011010110100
11010110101101001101011010110101101011010110100110101101011010000110101101011010
01101011010110101101011010110100110101101011010011010110101101011010110101101001
10101101011010011010110101101011010110101101001101011010110100001101011010110100
11010110101101011010110101101001101011010110100110101101011010110101101011010011
01011010110100110101101011010110101101011010011010110101101000110101101011010011
01011010110101101011010110100110101101011010011010110101101011010110101101001101
01101011010011010110101101011010110101101001101011010110100001101011010110100110
10110101101011010110101101001101011010110100110101101011010110101101011010011010
11010110100110101101011010110101101011010011010110101101000001101011010110100110
10110101101011010110101101001101011010110100110101101011010110101101011010011010
11010110100110101101011010110101101011010011010110101101000110101101011010011010
11010110101101011010110100110101101011010011010110101101011010110101101001101011
01011010011010110101101011010110101101001101011010110100001101011010110100110101
10101101011010110101101001101011010110100110101101011010110101101011010011010110
10110100110101101011010110101101011010011010110101101000011010110101101001101011
01011010110101101011010011010110101101001101011010110101101011010110100110101101
01101001101011010110101101011010110100110101101011010001101011010110100110101101
01101011010110101101001101011010110100110101101011010110101101011010011010110101
10100110101101011010110101101011010011010110101101000011010110101101001101011010
11010110101101011010011010110101101001101011010110101101011010110100110101101011
01001101011010110101101011010110100110101101011010000110101101011010011010110101
10101101011010110100110101101011010011010110101101011010110101101001101011010110
10011010110101101011010110101101001101011010110100011010110101101001101011010110
10110101101011010011010110101101001101011010110101101011010110100110101101011010
01101011010110101101011010110100110101101011010000110101101011010011010110101101
01101011010110100110101101011010011010110101101011010110101101001101011010110100
11010110101101011010110101101001101011010110100001101011010110100110101101011010
11010110101101001101011010110100110101101011010110101101011010011010110101101001
10101101011010110101101011010011010110101101000110101101011010011010110101101011
01011010110100110101101011010011010110101101011010110101101001101011010110100110
10110101101011010110101101001101011010110100001101011010110100110101101011010110
10110101101001101011010110100110101101011010110101101011010011010110101101001101
01101011010110101101011010011010110101101000011010110101101001101011010110101101
01101011010011010110101101001101011010110101101011010110100110101101011010011010
11010110101101011010110100110101101011010001101011010110100110101101011010110101
10101101001101011010110100110101101011010110101101011010011010110101101001101011
01011010110101101011010011010110101101000011010110101101001101011010110101101011
01011010011010110101101001101011010110101101011010110100110101101011010011010110
10110101101011010110100110101101011010000110101101011010011010110101101011010110
10110100110101101011010011010110101101011010110101101001101011010110100110101101
01101011010110101101001101011010110100011010110101101001101011010110101101011010
11010011010110101101001101011010110101101011010110100110101101011010011010110101
10101101011010110100110101101011010000110101101011010011010110101101011010110101
10100110101101011010011010110101101011010110101101001101011010110100110101101011
01011010110101101001101011010110100000110101101011010011010110101101011010110101
10100110101101011010011010110101101011010110101101001101011010110100110101101011
01011010110101101001101011010110100011010110101101001101011010110101101011010110
10011010110101101001101011010110101101011010110100110101101011010011010110101101
01101011010110100110101101011010000110101101011010011010110101101011010110101101
00110101101011010011010110101101011010110101101001101011010110100110101101011010
11010110101101001101011010110100001101011010110100110101101011010110101101011010
01101011010110100110101101011010110101101011010011010110101101001101011010110101
10101101011010011010110101101000110101101011010011010110101101011010110101101001
10101101011010011010110101101011010110101101001101011010110100110101101011010110
10110101101001101011010110100001101011010110100110101101011010110101101011010011
01011010110100110101101011010110101101011010011010110101101001101011010110101101
01101011010011010110101101000011010110101101001101011010110101101011010110100110
10110101101001101011010110101101011010110100110101101011010011010110101101011010
11010110100110101101011010001101011010110100110101101011010110101101011010011010
11010110100110101101011010110101101011010011010110101101001101011010110101101011
01011010011010110101101000011010110101101001101011010110101101011010110100110101
10101101001101011010110101101011010110100110101101011010011010110101101011010110
10110100110101101011010000011010110101101001101011010110101101011010110100110101
10101101001101011010110101101011010110100110101101011010011010110101101011010110
10110100110101101011010001101011010110100110101101011010110101101011010011010110
10110100110101101011010110101101011010011010110101101001101011010110101101011010
11010011010110101101000011010110101101001101011010110101101011010110100110101101
01101001101011010110101101011010110100110101101011010011010110101101011010110101
10100110101101011010000110101101011010011010110101101011010110101101001101011010
11010011010110101101011010110101101001101011010110100110101101011010110101101011
01001101011010110100011010110101101001101011010110101101011010110100110101101011
01001101011010110101101011010110100110101101011010011010110101101011010110101101
00110101101011010000110101101011010011010110101101011010110101101001101011010110
10011010110101101011010110101101001101011010110100110101101011010110101101011010
01101011010110100001101011010110100110101101011010110101101011010011010110101101
00110101101011010110101101011010011010110101101001101011010110101101011010110100
11010110101101000110101101011010011010110101101011010110101101001101011010110100
11010110101101011010110101101001101011010110100110101101011010110101101011010011
01011010110100001101011010110100110101101011010110101101011010011010110101101001
10101101011010110101101011010011010110101101001101011010110101101011010110100110
10110101101000011010110101101001101011010110101101011010110100110101101011010011
01011010110101101011010110100110101101011010011010110101101011010110101101001101
01101011010001101011010110100110101101011010110101101011010011010110101101001101
01101011010110101101011010011010110101101001101011010110101101011010110100110101
10101101000011010110101101001101011010110101101011010110100110101101011010011010
11010110101101011010110100110101101011010011010110101101011010110101101001101011
01011010000110101101011010011010110101101011010110101101001101011010110100110101
10101101011010110101101001101011010110100110101101011010110101101011010011010110
10110100011010110101101001101011010110101101011010110100110101101011010011010110
10110101101011010110100110101101011010011010110101101011010110101101001101011010
11010000110101101011010011010110101101011010110101101001101011010110100110101101
01101011010110101101001101011010110100110101101011010110101101011010011010110101
10100001101011010110100110101101011010110101101011010011010110101101001101011010
11010110101101011010011010110101101001101011010110101101011010110100110101101011
01000110101101011010011010110101101011010110101101001101011010110100110101101011
01011010110101101001101011010110100110101101011010110101101011010011010110101101
00001101011010110100110101101011010110101101011010011010110101101001101011010110
10110101101011010011010110101101001101011010110101101011010110100110101101011010
00001101011010110100110101101011010110101101011010011010110101101001101011010110
10110101101011010011010110101101001101011010110101101011010110100110101101011010
00110101101011010011010110101101011010110101101001101011010110100110101101011010
11010110101101001101011010110100110101101011010110101101011010011010110101101000
01101011010110100110101101011010110101101011010011010110101101001101011010110101
10101101011010011010110101101001101011010110101101011010110100110101101011010000
11010110101101001101011010110101101011010110100110101101011010011010110101101011
01011010110100110101101011010011010110101101011010110101101001101011010110100011
01011010110100110101101011010110101101011010011010110101101001101011010110101101
01101011010011010110101101001101011010110101101011010110100110101101011010000110
10110101101001101011010110101101011010110100110101101011010011010110101101011010
11010110100110101101011010011010110101101011010110101101001101011010110100001101
01101011010011010110101101011010110101101001101011010110100110101101011010110101
10101101001101011010110100110101101011010110101101011010011010110101101000110101
10101101001101011010110101101011010110100110101101011010011010110101101011010110
10110100110101101011010011010110101101011010110101101001101011010110100001101011
01011010011010110101101011010110101101001101011010110100110101101011010110101101
01101001101011010110100110101101011010110101101011010011010110101101000001101011
01011010011010110101101011010110101101001101011010110100110101101011010110101101
01101001101011010110100110101101011010110101101011010011010110101101000110101101
01101001101011010110101101011010110100110101101011010011010110101101011010110101
10100110101101011010011010110101101011010110101101001101011010110100001101011010
11010011010110101101011010110101101001101011010110100110101101011010110101101011
01001101011010110100110101101011010110101101011010011010110101101000011010110101
10100110101101011010110101101011010011010110101101001101011010110101101011010110
10011010110101101001101011010110101101011010110100110101101011010001101011010110
10011010110101101011010110101101001101011010110100110101101011010110101101011010
01101011010110100110101101011010110101101011010011010110101101000011010110101101
00110101101011010110101101011010011010110101101001101011010110101101011010110100
11010110101101001101011010110101101011010110100110101101011010000110101101011010
01101011010110101101011010110100110101101011010011010110101101011010110101101001
10101101011010011010110101101011010110101101001101011010110100011010110101101001
10101101011010110101101011010011010110101101001101011010110101101011010110100110
10110101101001101011010110101101011010110100110101101011010000110101101011010011
01011010110101101011010110100110101101011010011010110101101011010110101101001101
01101011010011010110101101011010110101101001101011010110100001101011010110100110
10110101101011010110101101001101011010110100110101101011010110101101011010011010
11010110100110101101011010110101101011010011010110101101000110101101011010011010
11010110101101011010110100110101101011010011010110101101011010110101101001101011
01011010011010110101101011010110101101001101011010110100001101011010110100110101
10101101011010110101101001101011010110100110101101011010110101101011010011010110
10110100110101101011010110101101011010011010110101101000011010110101101001101011
01011010110101101011010011010110101101001101011010110101101011010110100110101101
01101001101011010110101101011010110100110101101011010001101011010110100110101101
01101011010110101101001101011010110100110101101011010110101101011010011010110101
10100110101101011010110101101011010011010110101101000011010110101101001101011010
11010110101101011010011010110101101001101011010110101101011010110100110101101011
01001101011010110101101011010110100110101101011010000110101101011010011010110101
10101101011010110100110101101011010011010110101101011010110101101001101011010110
10011010110101101011010110101101001101011010110100011010110101101001101011010110
10110101101011010011010110101101001101011010110101101011010110100110101101011010
01101011010110101101011010110100110101101011010000110101101011010011010110101101
01101011010110100110101101011010011010110101101011010110101101001101011010110100
11010110101101011010110101101001101011010110100000110101101011010011010110101101
01101011010110100110101101011010011010110101101011010110101101001101011010110100
11010110101101011010110101101001101011010110100011010110101101001101011010110101
10101101011010011010110101101001101011010110101101011010110100110101101011010011
01011010110101101011010110100110101101011010000110101101011010011010110101101011
01011010110100110101101011010011010110101101011010110101101001101011010110100110
10110101101011010110101101001101011010110100001101011010110100110101101011010110
10110101101001101011010110100110101101011010110101101011010011010110101101001101
01101011010110101101011010011010110101101000110101101011010011010110101101011010
11010110100110101101011010011010110101101011010110101101001101011010110100110101
10101101011010110101101001101011010110100001101011010110100110101101011010110101
10101101001101011010110100110101101011010110101101011010011010110101101001101011
01011010110101101011010011010110101101000011010110101101001101011010110101101011
01011010011010110101101001101011010110101101011010110100110101101011010011010110
10110101101011010110100110101101011010001101011010110100110101101011010110101101
01101001101011010110100110101101011010110101101011010011010110101101001101011010
11010110101101011010011010110101101000011010110101101001101011010110101101011010
11010011010110101101001101011010110101101011010110100110101101011010011010110101
10101101011010110100110101101011010000

Заметки:

  • Вы можете вернуть массив символов (или цифр) строки
  • Вы можете использовать символы, отличные от 0 и 1, если хотите.
  • У вас могут быть другие символы в выходных данных, если при фильтрации этих двух выбранных символов этот шаблон будет получен.
  • Эта строка генерируется лучшими способами, чем просто жесткое кодирование всей строки. Большая часть задачи состоит в том, чтобы найти кратчайший способ его создания. Я сделал 16-байтовый ответ SOGL, который должен быть алгоритмом, не зависящим от языка (старый 15-байтовый ответ, характерный для старой версии SOGL, вдохновил вызов), но я не буду его публиковать (пока кто-нибудь не найдет этот алгоритм) чтобы сделать задачу более интересной для других.

  • Это , поэтому выигрывает самый короткий ответ (для каждого языка)!

Фрагмент для проверки правильности ответа:

dzaima
источник
Знаете ли вы, есть ли лучшие способы, чем базовое сжатие?
Эрик Аутгольфер
@EriktheOutgolfer Определенно, поскольку это было сделано как 15-байтовая авария: pA big part of the challenge is to find the shortest way to generate it.
dzaima
Да, вот почему я удалил свой ответ ... чувствовал, что оно того не стоило. О, и то, что вы цитировали, почему я спросил.
Эрик Outgolfer
1
Это, кажется, примитивная последовательность, так что, к сожалению, это не тривиальное повторение чего-либо :(
HyperNeutrino
1
@Sanchises Ну, тогда еще есть возможность воссоздать что-нибудь еще в гольф. ;)
Эрик Outgolfer

Ответы:

35

Japt , 35 33 29 26 25 24 байта

'1
#˜5s £=r1,26¤²²sX
s#ž

Попробуйте онлайн!

объяснение

'1   First line: Set variable U to this value.
'1   Yield the string "1". (This part gets simpler every time I golf this answer...)

1525s £=r1,26¤²²sX   Second line: Set variable V to this value (though that's not important).
1525s                Yield the string "1525".
      £              For each char X in this string:
           26¤         Yield the binary representation of 26. "11010"
              ²²       Double it twice.                       "11010110101101011010"
                sX     Slice off the first X chars. This gives "1010110101101011010",
                       "110101101011010", "010110101101011010", and "110101101011010".
       =               Set U to
        r1,              U with each instance of 1 replaced with the string calculated above.

s158   Last line: output the result of this line.
s158   Take U and slice off the first 158 characters.

Вот как я это получил. Начните с оригинальной последовательности:

01101011010110100110101101011010110101101011010011010110101101001101011010110101101011...

После некоторого возни, я понял, что последовательность полностью состоит из копий 0и 11010. Замена каждого экземпляра 11010с 2дали это:

02220222222022202222220222022222202220002220222222022202222220222022222202220002220222...

О эй, теперь он полностью сделан из 0и 222. Давайте изменим каждый 222на один 2:

02022020220202202000202202022020220200020220202202022020020220202202022020002022020220...

Эта последовательность очень похожа на оригинал. Кажется, в этом много 22020s, поэтому я заменил каждый на 3и получил:

02033300203330020333020333002033300203330203330020333000203330203330020333002033302033...

Теперь каждый экземпляр 3содержится в 020333. Замена каждого из них снова одним 3дает следующее:

30303303033030033030330303303003303033030330303303033030330300330303303033030033030330...

... и мы снова вернулись к исходному образцу. Еще раз, заменив 33030на 4:

30304404440444444044404444440444044444404440

О-о, в начале есть несколько случайных символов. Мы можем исправить это, добавив дополнительный 3в начале, перед тем как сконденсировать (отсюда и 158 дополнительных символов в конце). Затем мы сжимаем каждый цикл по 3 4с в один 4, как и раньше:

4040440404404044040

Дааа, и еще раз, мы вернулись к первоначальному шаблону. В последний раз давайте скомпилируем копии 44040в 5:

4040555

Надеюсь, этот последний шаг не слишком сложен для понимания. Это похоже на шаг, где мы сжимаем 020333s в 3s, но на этот раз мы сжимаем 4040555s в 5s:

5

И там у вас есть полностью сжатая строка. Код просто инвертирует повторяющееся сжатие, чтобы вернуть исходную строку. Поскольку все итерации сжатия были почти одинаковыми, для правильной реорганизации строки не требуется много.

ETHproductions
источник
Как вы можете видеть здесь, я использовал Jelly's /(Reduce) ... у Japt тоже есть Reduce / Fold? Если это так, это может сэкономить байты.
Эрик Outgolfer
@EriktheOutgolfer Japt действительно имеет снижение, но для этого потребуется изменить, £=по крайней мере, r@если не на что-то более длинное. (Честно говоря, £=это не высокая цена за нетрадиционную функцию сокращения)
ETHproductions
Вы имели в виду r@<space>? Конечно, тогда было бы что-то вроде использования [[1], 1, 5, 2, 5]вместо « [1, 5, 2, 5]уменьшить».
Эрик Outgolfer
1
Точно ли было бы сказать, что вы только что реверсировали фрактальное расширение?
Патрик Робертс
1
@PatrickRoberts Да, довольно.
ETHproductions
14

JavaScript (ES6), 130 байт

Многоцветное нелинейное сжатие импульсов путем последовательного оптического параметрического усиления в квазифазных согласованных структурах.

ОК, не совсем. Просто замены.

f=(n=0,s='pqh0f9bc9bc9bc900')=>n<20?f(n+1,s.split((n+9).toString(36)).join('cb0dgfgnjkkoppo0qs10'[n]+'adcdef0hi0klmnqpqrs1'[n])):s

демонстрация

Как?

Это, безусловно, не лучший способ сжать эту строку, но я решил опубликовать ее в любом случае, так как столкнулся с необходимостью оптимизировать ее (немного) с помощью рекурсивной функции.

Мы начинаем со строки s="pqh0f9bc9bc9bc900"и последовательно применяем следующие 20 замен:

 9  | a  | b  | c  | d  | e  | f  | g  | h  | i  | j  | k  | l  | m  | n  | o  | p  | q  | r  | s
----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----
 ca | bd | 0c | dd | ge | ff | g0 | nh | ji | k0 | kk | ol | pm | pn | oq | 0p | qq | sr | 1s | 01

Например, «9» расширится до «ca» , «cbd» , «c0cd» , «dd0ddd» , ... и, в конечном итоге, до 2381 строки символов из 0 и 1.

Arnauld
источник
Интересная техника, я уверен, что она будет хорошо работать на струнах с меньшим рисунком, чем этот.
ETHproductions
3
Вы потеряли меня на «многоцветном»
Патрик Робертс
6

Mathematica, 128 байт

Fold[StringReplace,"AAAY0PY0",{{"A"->"Y0PY0PYP"},{"Y"->"P0P0PP0P0PP0P0"},{"P"->"QQQXXX00"},{"Q"->"XXX0XXXXXX0"},{"X"->"01101"}}]


Попробуйте онлайн!

J42161217
источник
Не могли бы вы сделать это короче, используя только один StringReplace и имея список правил замены?
DanTheMan
да, конечно ... Я только начал играть в гольф ...
J42161217
Если замена так проста, тогда Retina должна
Нил
6

JavaScript (ES6), 85 80 байт

[j="1",5,2,5].map(x=>j=j.replace(/1/g,"11010".repeat(4).slice(x)))&&j.slice(158)

Что-то вроде порта моего ответа Япта. Объяснение закономерности можно найти там.

Тестовый фрагмент

ETHproductions
источник
2
Это немного сбивает с толку ... пока вы не узнаете, j="1"что на самом деле это две вещи, одна из которых - злоупотребление шрифтом.
Эрик Outgolfer
6

Желе , 28 22 20 байт

⁽.⁷Dð26Bẋ4ṫȧ€Ẏð/ṫ159

Попробуйте онлайн!

-3 спасибо Джонатану Аллану .

(В некоторой степени) порт ETHproductions - отличный ответ Japt .

Все еще не эффективен как dzaima's (старая версия SOGL)!

Это возвращает массив цифр.

Эрик Outgolfer
источник
Это было проверено на достоверность с помощью Diff Checker !
Эрик Outgolfer
Давайте продолжим эту дискуссию в чате .
Эрик Outgolfer
6

Retina, 69 66 65 байт

Ответ порта @ ETHproduction на JavaScript (ES6): попробуйте онлайн! NB Немного медленно.


1¶1010::010::
{`1(?=.*¶(\d*):)
$1ZZZ
Z
11010
}1`\d*:

^.{158}|¶

Порт ответа @ Jenny_mathy's Mathematica был 82 66 байт: Попробуйте онлайн!


AAAY0PY0
A
Y0PY0PYP
Y
ZPZPZ
Z
P0P0
P
QQQR00
Q
R0RR0
R
XXX
X
01101

Порт объяснения Japt @ ETHproduction составлял 69 байт: попробуйте онлайн!


5454545
5
4040
4
444
4
33030
3
020333
3
22020
2
222
2
11010
^.{158}

Порт предыдущего объяснения Japt @ ETHproduction был также 69 байтов: попробуйте онлайн!


___101
_
10101
1
111
1
11010
1
___100
_
10110
1
111
1
11010
^.{157}

Порт ответа @ RickHitchcock на JavaScript составлял 74 байта: попробуйте онлайн!


ifififhg0
i
hhg
h
g0f
g
f0f0ff0f0ff0f0
f
e0e0e0ddd00
e
ddd0dddddd
d
01101

Порт JavaScript-ответа @ Arnauld был 85 байтов: попробуйте онлайн!


pqh0g09bc9bc9bc900
9
cbd
b
0c
c
dd
d
gg0g0
g
nh
h
kkk0
k
0pppn
n
0pq
p
qq
q
s1s
s
01
Нил
источник
Ницца! Можете ли вы обновить мой? (это моя последняя версия) спасибо!
J42161217
@Jenny_mathy Мне удалось отыграть еще несколько байтов, так что теперь ты ведущий порт Retina, спасибо!
Нил
3

JavaScript (ES6), 158 143 139 байт

(Сохранено несколько байтов благодаря @DanTheMan.)

'ifififhg0'[r='replace'](/i/g,'hhg')[r](/h/g,'g0f')[r](/g/g,'f0f0ff0f0ff0f0')[r](/f/g,'e0e0e0ddd00')[r](/e/g,'ddd0dddddd')[r](/d/g,'01101')

Рик Хичкок
источник
Вам просто нужно сгенерировать строку, чтобы вы могли отбросить _=>.
DanTheMan
2
Это может быть немного короче (не менее 30 байтов). Подсказка # 1: переход от .replace(/x/g,y)к.split(x).join(y)
ETHproductions
Подсказка № 2: используйте цифры> 1вместо букв в сжатии. Это позволит вам легко заменить, например 9, тогда 8, потом 7и т. Д.
ETHproductions
@ETHproductions, я вижу, как я могу сохранить 1 байт, переключаясь на строки шаблона splitи joinс ними: 'ifififhg0'[s='split']BTiBT[j='join']BThhgBT[s]BThBT[j]BTg0fBT(где BT - обратный удар)
Рик Хичкок,
Подсказка # 3: карты через массив замен, напримерj='string',i=9,[replacements].map(x=>j=j.split(i--).join(x)),j
ETHproductions