사이런 코드
면접 대비시간 제한2초메모리 제한1024 MB
절댓값이 1 이하이고 C22가 0이 아닌 2x2 행렬 C로 인코딩된 행렬 A가 주어질 때, 원래 행렬 B를 복원합니다.
문제
사이런의 메시지를 전투함 갤럭티카가 가로챘다. 메시지는 정수로 이루어진 행렬 이며, 암호화되어 있다. 사이런 여섯 명 중 한 명을 심문해서 행렬을 암호화하는 방법을 알아냈다. 이때 쓰는 행렬은 행렬 이다. 의 각 원소는 절댓값이 1 이하인 정수이고, 는 0이 아니다. 행렬 를 암호화하면 와 크기가 같은 행렬 가 나오며, 그 식은 다음과 같다. 인덱스가 행렬 범위를 벗어나면 그 원소의 값은 0으로 본다. 아다마 제독은 사이런 메시지를 해독해 달라고 요청한다. 인류의 생존이 여기에 달려 있다.
입력
첫 줄에 정수 과 ()이 주어진다. 이어서 개의 줄에 각각 개의 정수가 주어진다. 이것이 암호화된 행렬 이며, 번째 줄의 번째 수가 이다. 마지막 줄에는 행렬 의 원소 , , , 가 주어진다. 입력의 모든 수는 정수이고 절댓값이 1000을 넘지 않는다. 모든 에 대해 이고, 이다.
출력
개의 줄에 각 줄마다 개의 수를 출력한다. 출력하는 수는 행렬 로 암호화된 행렬 를 해독한 결과이다.