728x90
문제
11811번: 데스스타
boj.ma
풀이
i번째와 j번째 요소의 AND 연산 결과가 저장된 행렬의 대각선 행렬을 구하는 문제다.
임의의 A(i)를 구하기 위해서는 A(j)를 제외한 i 행의 AND 연산 결과를 만족하는 M(i, j)를 구해야 한다.
최소한의 조건을 만족하는 M(i, j)는 여러 개가 존재할 수 있으며 이 중 아무거나 출력하면 된다.
따라서 최소한의 조건을 만족하는 M(i, j)를 구하기 위해 i행의 모든 연산 결과에 대해 OR을 적용했다.
// Solve
for (int i = 0; i < N ; ++i) {
int temp = 0;
for (int j = 0 ; j < N ; ++j) {
temp |= matrix[i][j];
}
모든 연산 결과에 OR 연산을 한 M(i, j)는 어떤 A(j)와 AND 연산을 하더라도 올바른 결과를 얻을 수 있다.
풀이 시간
5분
소스코드
https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/easy/11811.java
problem-solving/baekjoon-online-judge/easy/11811.java at main · rogi-rogi/problem-solving
Daily Problem Solving Challenges. Contribute to rogi-rogi/problem-solving development by creating an account on GitHub.
github.com
728x90
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 04626] 가글 [Java] (1) | 2025.06.09 |
---|---|
[백준 08896] 가위 바위 보 [Java] (1) | 2025.06.06 |
[백준 01270] 전쟁 - 땅따먹기 [Java] (0) | 2025.05.26 |
[백준 02225] 합분해 [Java] (1) | 2025.05.25 |
[백준 21965] 드높은 남산 위에 우뚝 선 [Java] (0) | 2025.05.14 |