만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

행렬 제곱

면접 대비

시간 제한1초메모리 제한256 MB

요약
N×N 행렬 A의 B제곱을 구하고 각 원소를 1,000으로 나눈 나머지로 출력합니다.
난이도

쉬움10점 중 3점

유형
행렬, 분할 정복
정답자
아직 제출이 없습니다

문제

크기가 N×NN \times N인 행렬 AA와 지수 BB가 주어진다. ABA^B를 구하는 프로그램을 작성한다.

원소가 매우 커질 수 있으므로 ABA^B의 각 원소를 1,000으로 나눈 나머지를 출력한다.

입력

첫째 줄에 행렬의 크기 NN과 지수 BB가 공백으로 구분되어 주어진다. (2≤N≤52 \le N \le 5, 1≤B≤100,000,000,0001 \le B \le 100{,}000{,}000{,}000)

둘째 줄부터 NN개의 줄에 행렬 AA의 각 행이 주어진다. 각 원소는 1,000보다 작거나 같은 자연수 또는 0이다.

출력

NN개의 줄에 걸쳐 ABA^B를 출력한다. ii번째 줄에는 ii번째 행의 원소 NN개를 공백으로 구분해 출력하고, 각 원소는 1,000으로 나눈 나머지를 출력한다.

예제3

  1. 예제 1

    입력
    2 5
    1 2
    3 4
    
    예상 출력
    69 558
    337 406
    
  2. 예제 2

    입력
    3 3
    1 2 3
    4 5 6
    7 8 9
    
    예상 출력
    468 576 684
    62 305 548
    656 34 412
    
  3. 예제 3

    입력
    5 10
    1 0 0 0 1
    1 0 0 0 1
    1 0 0 0 1
    1 0 0 0 1
    1 0 0 0 1
    
    예상 출력
    512 0 0 0 512
    512 0 0 0 512
    512 0 0 0 512
    512 0 0 0 512
    512 0 0 0 512