Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int arr[2000][1000];
- void generate(int len) {
- int i, j;
- for (i = 0; i < 2*len+2; i++) {
- for (j = 0; j < len+2; j++) {
- arr[i][j] = 0;
- }
- }
- arr[0][0] = 1;
- for (i = 1; i <= len; i++) {
- for (j = 0; j <= i; j++) {
- if (j-1 >= 0) arr[i][j] += arr[i-1][j-1];
- if (j+1 < i) arr[i][j] += arr[i-1][j+1];
- }
- }
- for (i = len-1; i >= 0; i--) {
- for (j = 0; j < len; j++) {
- if (j-1 >= 0) arr[2*len-i][j] += arr[2*len-i-1][j-1];
- if (j+1 < 2*len-i) arr[2*len-i][j] += arr[2*len-i-1][j+1];
- }
- }
- /*
- for (i = 0; i < 2*len+2; i++) {
- for (j = 0; j < len+2; j++) {
- printf("%d ", arr[i][j]);
- }
- printf("\n");
- }
- */
- printf("len %d: %d\n", len, arr[2*len][0]);
- }
- int main() {
- int i;
- for (i = 1; i <= 10; i++) {
- generate(i);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement