#include <stdio.h>
#define SIZE 4
void compress2D(int data[SIZE][SIZE], int rowSize, int colSize)
{
int i , j , counter, tempInt;
for (i = 0 ; i < rowSize ; i++)
{
tempInt = data[i][0];
counter = 1 ;
for (j = 1 ; j < colSize ; j++ )
{
if (data[i][j] == tempInt)
counter++ ;
else
{
printf("%d %d " , tempInt
,counter
); tempInt = data[i][j];
counter = 1;
}
}
if(counter)
printf("%d %d",tempInt
, counter
); }
}
int main(void) {
int data[SIZE][SIZE];
int rowSize = SIZE, colSize= SIZE, i, j;
for (i = 0 ; i < rowSize ; i++)
for (j = 0 ; j < colSize ; j++ )
scanf("%d", &data
[i
][j
]); compress2D(data, SIZE, SIZE);
return 0;
}
/*void compress2D(int data[SIZE][SIZE], int rowSize, int colSize)
{
int i , j , counter0, counter1;
for (i = 0 ; i < rowSize ; i++)
{
counter0 = 0;
counter1 = 0;
for (j = 0 ; j < colSize ; j++ )
{
(data[i][j] == 0) ? counter0++ : counter1++;
}
if(data[i][0])
{
if(counter1) printf("1 %d ", counter1);
if(counter0) printf("0 %d", counter0);
}
else
{
if(counter0) printf("0 %d ", counter0);
if(counter1) printf("1 %d", counter1);
}
printf("\n");
}
}*/
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgU0laRSA0Cgp2b2lkIGNvbXByZXNzMkQoaW50IGRhdGFbU0laRV1bU0laRV0sIGludCByb3dTaXplLCBpbnQgY29sU2l6ZSkKewoJaW50IGkgLCBqICwgY291bnRlciwgdGVtcEludDsKCWZvciAoaSA9IDAgOyBpIDwgcm93U2l6ZSA7IGkrKykKCXsKCQl0ZW1wSW50ID0gZGF0YVtpXVswXTsKCQljb3VudGVyID0gMSA7CgkJCgkJZm9yIChqID0gMSA7IGogPCBjb2xTaXplIDsgaisrICkKCQl7CgkJCWlmIChkYXRhW2ldW2pdID09IHRlbXBJbnQpIAoJCQkJY291bnRlcisrIDsgCgkJCWVsc2UKCQkJewoJCQkJcHJpbnRmKCIlZCAlZCAiICwgdGVtcEludCxjb3VudGVyKTsKCQkJCXRlbXBJbnQgPSBkYXRhW2ldW2pdOwoJCQkJY291bnRlciA9IDE7CgkJCX0gICAKCQl9CgkJaWYoY291bnRlcikKCQkJcHJpbnRmKCIlZCAlZCIsdGVtcEludCwgY291bnRlcik7CgkJcHJpbnRmKCJcbiIpOwoJfQp9CgppbnQgbWFpbih2b2lkKSB7CglpbnQgZGF0YVtTSVpFXVtTSVpFXTsKCWludCByb3dTaXplID0gU0laRSwgY29sU2l6ZT0gU0laRSwgaSwgajsKCQoJZm9yIChpID0gMCA7IGkgPCByb3dTaXplIDsgaSsrKQoJCWZvciAoaiA9IDAgOyBqIDwgY29sU2l6ZSA7IGorKyApCgkJCXNjYW5mKCIlZCIsICZkYXRhW2ldW2pdKTsKCWNvbXByZXNzMkQoZGF0YSwgU0laRSwgU0laRSk7CglyZXR1cm4gMDsKfQoKCgoKCgoKLyp2b2lkIGNvbXByZXNzMkQoaW50IGRhdGFbU0laRV1bU0laRV0sIGludCByb3dTaXplLCBpbnQgY29sU2l6ZSkKewoJaW50IGkgLCBqICwgY291bnRlcjAsIGNvdW50ZXIxOwoJZm9yIChpID0gMCA7IGkgPCByb3dTaXplIDsgaSsrKQoJewoJCWNvdW50ZXIwID0gMDsKCQljb3VudGVyMSA9IDA7CgkJCgkJZm9yIChqID0gMCA7IGogPCBjb2xTaXplIDsgaisrICkKCQl7CgkJCShkYXRhW2ldW2pdID09IDApID8gY291bnRlcjArKyA6IGNvdW50ZXIxKys7CgkJfQoJCQoJCWlmKGRhdGFbaV1bMF0pCgkJewoJCQlpZihjb3VudGVyMSkgcHJpbnRmKCIxICVkICIsIGNvdW50ZXIxKTsKCQkJaWYoY291bnRlcjApIHByaW50ZigiMCAlZCIsIGNvdW50ZXIwKTsKCQl9CgkJZWxzZQoJCXsKCQkJaWYoY291bnRlcjApIHByaW50ZigiMCAlZCAiLCBjb3VudGVyMCk7CgkJCWlmKGNvdW50ZXIxKSBwcmludGYoIjEgJWQiLCBjb3VudGVyMSk7CgkJfQoJCXByaW50ZigiXG4iKTsKCX0KfSovCg==