Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.80 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int arr[2000][1000];
  4.  
  5. void generate(int len) {
  6.     int i, j;
  7.     for (i = 0; i < 2*len+2; i++) {
  8.         for (j = 0; j < len+2; j++) {
  9.             arr[i][j] = 0;
  10.         }
  11.     }
  12.     arr[0][0] = 1;
  13.     for (i = 1; i <= len; i++) {
  14.         for (j = 0; j <= i; j++) {
  15.             if (j-1 >= 0) arr[i][j] += arr[i-1][j-1];
  16.             if (j+1 < i) arr[i][j] += arr[i-1][j+1];
  17.         }
  18.     }
  19.     for (i = len-1; i >= 0; i--) {
  20.         for (j = 0; j < len; j++) {
  21.             if (j-1 >= 0) arr[2*len-i][j] += arr[2*len-i-1][j-1];
  22.             if (j+1 < 2*len-i) arr[2*len-i][j] += arr[2*len-i-1][j+1];
  23.         }
  24.     }
  25.     /*
  26.     for (i = 0; i < 2*len+2; i++) {
  27.         for (j = 0; j < len+2; j++) {
  28.             printf("%d ", arr[i][j]);
  29.         }
  30.         printf("\n");
  31.     }
  32.     */
  33.     printf("len %d: %d\n", len, arr[2*len][0]);
  34. }
  35.  
  36. int main() {
  37.     int i;
  38.     for (i = 1; i <= 10; i++) {
  39.         generate(i);
  40.     }
  41.     return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement