Skip to content

Commit be8ba86

Browse files
committed
[Silver V] Title: 부울행렬의 부울곱, Time: 3832 ms, Memory: 33464 KB -BaekjoonHub
1 parent b6486ae commit be8ba86

2 files changed

Lines changed: 60 additions & 0 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# [Silver V] 부울행렬의 부울곱 - 14492
2+
3+
[문제 링크](https://www.acmicpc.net/problem/14492)
4+
5+
### 성능 요약
6+
7+
메모리: 33464 KB, 시간: 3832 ms
8+
9+
### 분류
10+
11+
구현, 선형대수학, 수학
12+
13+
### 제출 일자
14+
15+
2025년 4월 28일 20:15:37
16+
17+
### 문제 설명
18+
19+
<p>문제를 출제하던 욱제는 갑자기 괴랄한 문제를 내고 싶어졌다. 불행하게도, 이번 대회에는 프로그래밍 뉴비들이 많기 때문에 그럴 수는 없었다. 하지만 욱제는 신입생들을 괴롭히고픈 욕망을 포기할 수 없었다.</p>
20+
21+
<p>‘하하! 과연 신입생들이 이 문제를 풀 수 있을까?’</p>
22+
23+
<p>문제는 간단하다. N×N 크기의 두 부울행렬(0과 1로만 이루어진 행렬) A=[a<sub>ij</sub>]와 B=[b<sub>ij</sub>]가 주어졌을 때, 두 행렬에 대해 부울곱 연산을 수행한 행렬 C=[c<sub>ij</sub>]에 나타나는 1의 개수를 세는 것이다. 부울곱 연산은 아래와 같이 수행된다.</p>
24+
25+
<p>c<sub>ij</sub> = (a<sub>i1</sub>∧b<sub>1j</sub>)∨(a<sub>i2</sub>∧b<sub>2j</sub>)∨...∨(a<sub>in</sub>∧b<sub>nj</sub>)</p>
26+
27+
<p>x<sub>ij</sub>는 X행렬의 i행j열 원소를 뜻하며 ∧는 논리곱(AND), ∨는 논리합(OR) 연산을 나타낸다. 자, 어서 코딩하자!</p>
28+
29+
### 입력
30+
31+
<p>첫째 줄에 행렬의 크기 N(1 ≤ N ≤ 300)이 주어진다. 이후 N개의 줄에 N×N의 부울행렬 A=[a<sub>ij</sub>]와, 다음 N개의 줄에 N×N의 부울행렬 B=[b<sub>ij</sub>]가 주어진다.</p>
32+
33+
### 출력
34+
35+
<p>A☉B를 연산한 행렬 C에서 나타나는 1의 개수를 세어서 출력한다.</p>
36+
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# 14492 부울행렬의 부울곱
2+
# 실버 5
3+
4+
import sys
5+
input = sys.stdin.readline
6+
7+
n = int(input())
8+
9+
a = [list(map(int, input().split())) for _ in range(n)]
10+
b = [list(map(int, input().split())) for _ in range(n)]
11+
12+
# b의 전치 행렬(행과 열을 교환한 것) -> 열을 쉽게 가져올 수 있음
13+
b_T = list(zip(*b))
14+
15+
cnt = 0
16+
17+
for i in range(n): # a의 i번째 행
18+
for j in range(n): # b의 j번째 행
19+
for k in range(n): # a[i][k]와 b[k][j]를 비교
20+
if a[i][k] and b_T[j][k]:
21+
cnt += 1
22+
break # 하나라도 1이면 OR로 1이 되므로 바로 break
23+
24+
print(cnt)

0 commit comments

Comments
 (0)