[ create a new paste ] login | about

Link: http://codepad.org/JPqsZePD    [ raw code | output | fork ]

C, pasted on Mar 10:
#include <stdio.h>
#include <stdlib.h>

int map[51][51] = { 0 };

int triangle(int r, int c) 
{
	printf("[triangle] r:%d c:%d map[r][c]:%d\t\t", r, c, map[r][c]);
	if (r == c || r == 0 || c == 0)
	{
		printf("[return 1] 1\n");
		return 1;
	}
	else 
	{
		if (map[r][c] != 0)
		{
			printf("[return 2] r:%d c:%d map[r][c]:%d\n", r, c, map[r][c]);
			return map[r][c];
		}

		printf("[return 3] r:%d c:%d map[r][c]:%d\n", r, c, map[r][c]);
		return map[r][c] = (triangle(r - 1, c) + triangle(r - 1, c - 1)) % 100000000;
	}
	printf("[return 4] r:%d c:%d map[r][c]:%d\n", r, c, map[r][c]);
}

int main() 
{
	int r, c;
	//scanf("%d %d", &r, &c);
	r = 4;
	c = 4;

	printf("[END] %3d\n", triangle(r + (c - 2), c - 1));

	return 0;
}


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[triangle] r:6 c:3 map[r][c]:0		[return 3] r:6 c:3 map[r][c]:0
[triangle] r:5 c:3 map[r][c]:0		[return 3] r:5 c:3 map[r][c]:0
[triangle] r:4 c:3 map[r][c]:0		[return 3] r:4 c:3 map[r][c]:0
[triangle] r:3 c:3 map[r][c]:0		[return 1] 1
[triangle] r:3 c:2 map[r][c]:0		[return 3] r:3 c:2 map[r][c]:0
[triangle] r:2 c:2 map[r][c]:0		[return 1] 1
[triangle] r:2 c:1 map[r][c]:0		[return 3] r:2 c:1 map[r][c]:0
[triangle] r:1 c:1 map[r][c]:0		[return 1] 1
[triangle] r:1 c:0 map[r][c]:0		[return 1] 1
[triangle] r:4 c:2 map[r][c]:0		[return 3] r:4 c:2 map[r][c]:0
[triangle] r:3 c:2 map[r][c]:3		[return 2] r:3 c:2 map[r][c]:3
[triangle] r:3 c:1 map[r][c]:0		[return 3] r:3 c:1 map[r][c]:0
[triangle] r:2 c:1 map[r][c]:2		[return 2] r:2 c:1 map[r][c]:2
[triangle] r:2 c:0 map[r][c]:0		[return 1] 1
[triangle] r:5 c:2 map[r][c]:0		[return 3] r:5 c:2 map[r][c]:0
[triangle] r:4 c:2 map[r][c]:6		[return 2] r:4 c:2 map[r][c]:6
[triangle] r:4 c:1 map[r][c]:0		[return 3] r:4 c:1 map[r][c]:0
[triangle] r:3 c:1 map[r][c]:3		[return 2] r:3 c:1 map[r][c]:3
[triangle] r:3 c:0 map[r][c]:0		[return 1] 1
[END]  20


Create a new paste based on this one


Comments: