Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #define N 10
- #define T_DIM (N*3*2+1) // Bok macierzy; +1 jest dla pewności ;)
- #define T_POW_2 (T_DIM*T_DIM) // Macierz kwadratowa, Dim like a dimension
- using namespace std;
- // -----------------------------------------------------------------------------
- void skocz(int x, int y, int ttl, int tab[]) // pos x, pos y, Time To Live,
- {
- if(ttl < 1) return;
- if(x < 0 || x > T_POW_2) return;
- if(y < 0 || y > T_POW_2) return;
- ttl--;
- tab[x+1+(y+2)*T_DIM]++;
- tab[x+2+(y+1)*T_DIM]++;
- tab[x+2+(y-1)*T_DIM]++;
- tab[x+1+(y-2)*T_DIM]++;
- tab[x-1+(y-2)*T_DIM]++;
- tab[x-2+(y-1)*T_DIM]++;
- tab[x-2+(y+1)*T_DIM]++;
- tab[x-1+(y+2)*T_DIM]++;
- // zgodne ze wskazówkami zegara
- skocz(x+1, y+2, ttl, tab);
- skocz(x+2, y+1, ttl, tab);
- skocz(x+2, y-1, ttl, tab);
- skocz(x+1, y-2, ttl, tab);
- skocz(x-1, y-2, ttl, tab);
- skocz(x-2, y-1, ttl, tab);
- skocz(x-2, y+1, ttl, tab);
- skocz(x-1, y+2, ttl, tab);
- tab[x+y*T_DIM]--;
- }
- // -----------------------------------------------------------------------------
- int main(int argc, char *argv[])
- {
- int tab[T_POW_2] = {0};
- for( int k = 1; k <= N; k++)
- {
- int one_time = 0;
- skocz(T_DIM/2, T_DIM/2, k, tab);
- for(int i = 0; i < T_POW_2; i++)
- {
- if(tab[i] > 0)
- one_time++;
- tab[i] = 0;
- }
- printf("N: %d\tone_t: %d\n", k, one_time );
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement