28 lines
		
	
	
	
		
			581 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			581 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import random
 | |
| 
 | |
| def factorial(n):
 | |
|     result = 1
 | |
|     for i in range(1, n + 1):
 | |
|         result *= i
 | |
|     return result
 | |
| 
 | |
| def travel(a, b):
 | |
|     if a == b:
 | |
|         return 1
 | |
| 
 | |
|     ax, ay = a
 | |
|     bx, by = b
 | |
|     if ax > bx or ay > by:
 | |
|         return 0
 | |
| 
 | |
|     return sum([travel((ax + 1, ay), b), travel((ax, ay + 1), b)])
 | |
| 
 | |
| def travel_compute(a, b):
 | |
|     bx, by = b
 | |
|     return int(factorial(bx + by) / (factorial(bx) * factorial(by)))
 | |
| 
 | |
| a = (0, 0)
 | |
| b = (random.randint(1, 10), random.randint(1, 10))
 | |
| print("Travelling to {}, {}".format(b[0], b[1]))
 | |
| print(travel(a, b))
 | |
| print(travel_compute(a, b))
 |