[Community Puzzle] BMP Compression - Puzzle discussion

Coding Games and Programming Challenges to Code Better

Send your feedback or ask for help here!

Created by @java_coffee_cup,validated by @DeanTheMachine,@Eulero314 and @Sarangilo_Arcian.
If you have any issues, feel free to ping them.

I have 3 suggestions to obtain more test cases. Usually it is easier to test it offline, outside CG’s IDE, because CG’s online environment has strict limit on data size.

  1. Reuse existing test cases - copy your output to throw into your program as input
  2. Create some small scale bmp test cases (manually or by a simple program you can design)
  3. try out some other test cases I could offer outside the IDE (could be bigger than CG’s size limit)

C 146 76
66
+++111+11+111+111+10+1+11+100+10000+1+11+11+1110+1
000++11++100+011+0+01011++11+111+10+1+1000++11+100
++1110+110000+000+01+0+0111++++100000+00+011+01111
++++0111111+111+10+1000+++00+011++0001+00111111+11
+110+011++11+10000+0011++0+0101111++1+1+11101++100
+1001+111+11+100++++11+100+110000+0001+0+01111+++0
001+0011111+111+10+1+1000++1110++1110+1100000+00+0
11++++1000000+01+0+000111+++0111111+1+1++101001111
1+1+1+10+1001++1001+01++++00111111+11+100++10000++
1+111000++1100000+000+01+0111+0+00+011++011111+11+
1110+1000++++11+100++1110+1100000+00+011++000+01+0
+00111111+++01111111+11+1000++1+110000++1100000+00
01+0111++++0111111+111+10+1+10++10000+++1110+11010
+011+0+01+0111++0+0001++0111++0011+0111111+1110+11
+++100+010+011+++00+011++0011+0011111+111+10+1+11+
100++100000++11++10000+000+01+0+0111++00+011++0111
111++++1100+100000+0001+0+01111+++0001+011111111+1
+1110+10000++++100+010+011+0+01++01111+++11++11+10
01++100+100++011+01111++++10100+100++01011+011++10
0+100++011+011++1+10101+10++1100+110100+1+101+100+
++100+100++011+011++100+100++011+011++1+101+100+1+
101+100++111+11+100+11+11++01111+1++100+1001++100+
100++01+0111++011+0111+11+11+11++01100111+++++1010
0+100++01011+011++100+100++011+011++1+10101+100+1+
101+100+++10100+100++01011+011++100+100++011+011++
1+10101+100+1+101+100++1++10100+1001++100+100+++01
011+0111++011+0111+1++10100+1001++100+100+++01011+
0111++011+0111++++10100+100++01011+011++100+100++0
11+011++1+10101+100+1+101+100+++100+100++011+011++
10011++011+011++1+101+100+1+101+100++1++10100+1001
++100+100+++01011+0111++011+0111+1++100+1001++100+
100+++011+0111++011+0111+++0101++1110+1101+1010+0+
010+01+0101++1010+0+01010+01+1010+0+010+011++0101+
+1010+0+01010+01+1010+0+010+01+0101++1010+0+010+01
+1010+0+010+011+++1+111+10+1001+1++1011+00111111++
+11+100++1100+1100000+0011++0001+0+00111111+++0111
111+111+10+11++10000+++1110+110000++1000000+00+011
++01111+1+1++11100+1001111+++00++0111++0011+011111
11+1+1100+1+1011+001+10++1+10+100+01001+001+10++11
++011110+110+01++++++01111111+1110+1+10000+++1110+
1100000+00+0111++0+000111++00111111+1110+11+++1001
00+11+011+++0+001111++001111111++111+10+1100+1+101
1+001+10+++1000010+0+1100001+1011+++11+0111001+00+
+1000+0+0100+++11+011+1+1011110+1100+++0011011+00+
10011+++10011011++0100+1101+00100+++++01100+110100
+110+01+++10001+100+1++0011+001011++011001+1+1+101
1+++0111001++00+10001++10011+1+1+++1011+001111++00
10011111111++++0+110000++1101100+1+1011+0010++11++
0111+1+001111+0+0100+11011+++1011+001111+001111+++
+00+100011+0+0100001+1+1011+++1100100+11+011+00100
+++0100+110000+1100+1011+0010+1++1011+001111+0100+
11011+1++++10011+001111+00111111+++++11+01110+++01
110+01++1+101011011+++1011+001111++00+10001+10+110
11++0+110000++1101100+1011+00+100++1++10100+1001++
100+100+++01011+0111++011+0111+1+1+001111+0+0100+1
101+++00+101111111+++0010+++01100+1100001+++100011
++110110+0100++110110++01100++1011+001011++++0011+
001011+0010+11++01111+++0100+110000+1100++100110+0
+110+01+++1000110+11++01100+11+011+++0101++1010+0+
01010+01+1010+0+010+01+01+00101++1010+0+01010+01+1
010+0+010+011++11+0100+1101++101+10+0+01010+0111++
001001+1011++++0111011+++01111111++++1+001111++001
0011+++01110+011++0+010000++1100100+1+1011+0010+++
00+10001+10+0+1100001+1011+++11+01110+011++011111+
++11+011+1+1011110+1101+++0011011+0+00011111+++101
11111111+++++0110111111111111

cube

C 104 68
47
++++0+00+00+0111+0+0101011+++00+011+001111++0011+0
0111111++01011+01011+1++100000+00+0111+0++011+0110
++011+011++++0011+001111++0011+00111111+++0011+001
111++0011+00111111++00+0011+0011+00+0011+001111++0
0+0011+0011+00+0011+001111+++01011+01011+1+0++0101
100+0010011++01011+01011+1+1+11+100+1000+00+0111+0
++011+011+0010++01100++++1100+110000++1100+1100001
1+++1100+110000++1100+11000011++0011+++011001++100
11+01001+10+11+100+0001++11+11+01+10++10000++10000
+01111+++01+10+01+100++01+1011+00+100+11+11011++++
+0011+001111++0011+00111111+++0011+001111++0011+00
111111++00+0011+0011+00+0011+001111++00+0011+0011+
00+0011+001111++++0011+001111++0011+00101111++00+1
+1011+00+10001+00+10100++0+1101+0010+01011++1010+0
101+1010+01011+1++10100+101001++10100+10100++++110
0+110000++1100+11000011+++1100+110000++1100+110000
11++0+11011+0010+11++01100+1110+1+10101+1000+0+101
0+00+011+1011+++111+10++10000++1000+01++01111+0011
++0+010+011+0+01+100+11+0111++++1000+01010+0111111
+1++10100+101001++10100+10100+++11011+0010+11011++
1010+0101+1000+01111+1++10100+101001++10100+10100+
+++01011+01011+1+1++1011+01111+11+1001++1000+00+01
10++011+011++01011+01011+1++1010++011001++100111+1
1+10100++++0011+001100+++0001+01111++0110011+++100
11+010010+1+++0011011+0011+10000++11+01+10++10000+
+01+10+01+100++0111111++11+0010+0001++11+100+0001+
00111++1100+1100+0111+1011++11+0111+00+100+0101+++
+01111++100+10011++11011+0011+00+100+111++100+100+
+1110+1100+0001++01111+++01011+01011+1+0++01011+01
1+1010++011001+1++1001111++0+11010+0100+11+11+0111
0+0+110000+11++11+011100+1100+++11+1101+1110+10+11
00+0101++0011+001111++0011111++++0101+1010+01+1001
++100+100+11+1100+11+0111++0011+001111+11+1100+110
0+11+1100+1100+++++0011++00111110+11011+1+00101+10
10+++01100+11100+1010+++1+101111++0010011+111+10++
10000++0011+001100+++1000+01++01111+0+010+0111++1+
1000+0001+0111+++011+011+101111++11001+10110+11++0
11+0111+++0+01+100+11+011+1+1011+0011+110+00+011+1
+11+100++100+100+00+011++1100+11001++10011+++++001
11111+110111++0010+1101+1010+01011+1++10100+101001
++10100+10100+++10001+011111+11011+1++10100+101001
++10100+10100+++1+1010+1110+1000+0+1010++011+0111+
+0011+0111111+++0+01010+011++10+01+100+1100+111+11
+100++1+1011+001111++0011+001111+11+1100+1100+11+1
100+1100++++1010+0101+100011++01111111+1++10100+10
1001++10100+10100+11+1100+1+111000++111+11+100++10
00000++1+10000000

cal