문제 풀이 N이 상당히 크기때문에 분할 정복으로 푼다. N이 짝수 일 경우 N / 2와 N / 2 N이 홀수 일 경우 N - 1과 N 행렬을 곱하면서 수가 점점 커지기 때문에 곱하면서 MOD연산이 필요하다. 코드 #include #include #include #define MOD 1000 using namespace std; int N; long long B; map cache; vector matrix; vector mulMatrix(vector m1, vector m2) { vector outMatrix; outMatrix.resize(N); for (int i = 0; i < N; ++i) { outMatrix[i].resize(N); } // m1과 m2 행렬의 곱 for (int i = 0; ..