Witam!
Mam do napisania taki program (link do pdf'a z treścią): http://pdfcast.org/pdf/skok

Napisałem taki oto kod. Czy jakby ktoś z Was miał czas, mógłby go sprawdzić czy wszystko się zgadza ponieważ zależy mi na tym żeby wszystko było dobrze napisane. :)

 #include <stdio.h>

#define SIZE 100000
#define OFFSET (SIZE/2)

int t[SIZE];

void rozladuj(int x)
{
    int k = (t[x]/3);
    t[x] -= 3*k;
    t[x-2] += k;
    t[x+2] += k;
}

int main()
{
    int n, i, jest3;
    scanf("%d", &n);
    while(n--)
    {
	int poz;
	scanf("%d", &poz);
	scanf("%d", &t[poz+OFFSET]);
    }
    do
    {
	jest3 = 0;
	for(i = 0; i < SIZE; i++)
	{
	    if(t[i] >= 3)
	    {
		rozladuj(i);
		if(t[i-2] >= 3) jest3 = 1;
	    }
	}
    } while(jest3 == 1);
    i = SIZE-2;
    while(i >= 0)
    {
	if(t[i] > 0 && t[i+1] > 0)
	{
	    t[i]--;
	    t[i+1]--;
	    t[i+2]++;
	    i += 2;
	}
	else if(t[i] == 2 && t[i-1] > 0)
	    i--;
	else if(t[i] == 2 && t[i+1] == 0)
	{
	    t[i]--;
	    t[i-1]++;
	    t[i-2]++;
	    
	    t[i-1]--;
	    t[i]--;
	    t[i+1]++;
	    i++;
	}
	else if(t[i] == 3)
	{
	    rozladuj(i);
	    i += 2;
	}
	else
	    i--;
    }
    return 0;
}