The information of the problem is present in the screenshot attached below. The solution to the code is this in python def solve(a, b, c, i): MOD = 1000000007 if i == 0: return a % MOD if i == 1: return b % MOD if i == 2: return c % MOD def matrix_mult(A, B): C = [[0, 0, 0], [0, 0, 0], [0, 0, 0]] for i in range(3): for j in range(3): for k in range(3): C[i][j] = (C[i][j] + A[i][k] * B[k][j]) % MOD return C def matrix_pow(A, n): if n == 1: return A if n % 2 == 0: B = matrix_pow(A, n // 2) return matrix_mult(B, B) else: B = matrix_pow(A, (n - 1) // 2) return matrix_mult(matrix_mult(B, B), A) T = [[1, 1, 1], [1, 0, 0], [0, 1, 0]] res = matrix_pow(T, i-2) return (res[0][0] * c + res[0][1] * b + res[0][2] * a) % MOD a, b, c, i = list(map(int, input().rstrip().split(" "))) print(solve(a, b, c, i)) I need an explanation of why the bold highlighted part of the code, more specifically the reason behind the values of the T matrices when initialized and the whole segment of code succeeding it
The information of the problem is present in the screenshot attached below.
The solution to the code is this in python
def solve(a, b, c, i):
|
I need an explanation of why the bold highlighted part of the code, more specifically the reason behind the values of the T matrices when initialized and the whole segment of code succeeding it.
Step by step
Solved in 2 steps