Logo
(追記) (追記ここまで)

24455번 - 암호화 행렬

시간 제한메모리 제한제출정답맞힌 사람정답 비율
0.8 초 512 MB247532816.568%

문제

$N \times N$ 행렬 세 개 $A_0,\ A_1,\ A_2$가 주어진다.

집합 $A = \{A_0,\ A_1,\ A_2\}$라 하면, 이 집합에 포함된 세 행렬의 어떤 순열 $X,ドル $Y,ドル $Z$가 $XY = Z$이라는 조건을 만족할 때, 각 행렬은 다음과 같은 특성을 갖는다고 하자.

  • $X$: 평문
  • $Y$: 암호화 행렬
  • $Z$: 암호문

이때 $S(A_i | A)$를 집합 $A$에 속하는 원소 $A_i$의 특성들의 집합이라고 하자. $(0 \le i \le 2)$

예를 들어, $A_0 = \left( \begin{matrix} 0 & 0 \\ 0 & 1 \end{matrix} \right),ドル $A_1 = \left( \begin{matrix} 1 & 0 \\ 0 & 0 \end{matrix} \right),ドル $A_2 = \left( \begin{matrix} 0 & 0 \\ 0 & 0 \end{matrix} \right),ドル 그리고 $A = \{A_0,\ A_1,\ A_2\}$ 라고 하자.

이때 $A_0A_1 = A_2,ドル 그리고 $A_1A_0 = A_2$ 이다.

따라서, $S(A_0 | A) = \{\textbf{평문}, \textbf{암호화 행렬}\},ドル $S(A_1 | A) = \{\textbf{평문}, \textbf{암호화 행렬}\},ドル $S(A_2 | A) = \{\textbf{암호문}\}$ 임을 알 수 있다.

이제 $f(A_i | A)$ $(0 \le i \le 2)$를 다음과 같이 정의하자.

$$f(A_i | A) = 1 \times \left[\textbf{평문} \in S(A_i | A)\right] + 2 \times \left[\textbf{암호화 행렬} \in S(A_i | A)\right] + 4 \times \left[\textbf{암호문} \in S(A_i | A)\right]$$

여기서 $[condition] = \begin{cases} 1 & \texttt{if}\ \ condition \\ 0 & \texttt{otherwise.} \end{cases}$ 이다.

즉, 위의 예시에서

$f(A_0 | A) = (1 \times 1) + (2 \times 1) + (4 \times 0) = 3,ドル

$f(A_1 | A) = (1 \times 1) + (2 \times 1) + (4 \times 0) = 3,ドル

$f(A_2 | A) = (1 \times 0) + (2 \times 0) + (4 \times 1) = 4$ 이다.

세 개의 $N \times N$ 행렬 $A_0,ドル $A_1,ドル $A_2$가 주어진다. $A = \{A_0,\ A_1,\ A_2\}$일 때, $f(A_0 | A),\ f(A_1 | A), f(A_2 | A)$을 구하는 프로그램을 작성하시오.

입력

첫 줄에는 정수 $N$이 주어진다. $(1 \le N \le 1,000円)$

다음 3ドルN$ 줄에 거쳐 세 행렬 $A_0,ドル $A_1,ドル $A_2$가 주어진다.

각 줄에는 $N$개의 정수가 공백으로 구분되어 주어지며, 각 정수의 절댓값은 200ドル$보다 작거나 같다.

출력

$f(A_0 | A),ドル $f(A_1 | A),ドル $f(A_2 | A)$를 한 줄에 하나씩 순서대로 출력한다.

제한

예제 입력 1

2
0 0
0 1
1 0
0 0
0 0
0 0

예제 출력 1

3
3
4

예제 입력 2

2
123 -123
111 -111
0 0
0 0
0 0
0 0

예제 출력 2

3
7
7

예제 입력 3

3
0 1 2
0 0 0
0 0 0
0 0 0
1 0 0
2 0 0
5 0 0
0 0 0
0 0 0

예제 출력 3

1
2
4

힌트

출처

University > 한양대학교 > 제8회 한양대학교 프로그래밍 경시대회 > Advanced Division D번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /