Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cctype>
- int main(int argc, char* argv[])
- {
- srand(time(NULL));
- int n = atoi(argv[1]);
- uint8_t tab[n][n];
- for(int i = 0; i < n; i++)
- {
- for(int j = 0; j < n; j++)
- {
- tab[i][j] = rand() % 2;
- }
- }
- // tworzenie tablicy sum czesciowych
- int sums[n][n];
- int counter = 0;
- for(int i = 0; i < n; i++)
- {
- for(int j = 0; j < n; j++)
- {
- counter = 0;
- for(int k = 0; k <= i; k++)
- {
- for(int l = 0; l <= j; l++)
- {
- if(tab[k][l] == 1)
- counter++;
- }
- }
- sums[i][j] = counter;
- }
- }
- counter = 0;
- int complexity = 0;
- int square_size = 2;
- for(square_size = 2; square_size <= n; square_size += 2)
- {
- for(int i = 0; i < n-square_size+1; i++)
- {
- for(int j = 0; j < n-square_size+1; j++)
- {
- int a, b, c;
- if(i == 0 || j == 0)
- {
- a = 0;
- }
- else
- {
- a = sums[i-1][j-1];
- }
- if(j == 0)
- {
- b = 0;
- }
- else
- {
- b = sums[i+square_size-1][j-1];
- }
- if(i == 0)
- {
- c = 0;
- }
- else
- {
- c = sums[i-1][j+square_size-1];
- }
- int d = sums[i+square_size-1][j+square_size-1];
- int s = d+a-b-c;
- complexity++;
- if(s*2 == square_size*square_size)
- {
- counter++;
- }
- }
- }
- }
- printf("counter = %d\n", counter);
- printf("complexity = %d\n", complexity);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment