"꾸준하고 완벽한 한 걸음"

PS/Baekjoon Online Judge

[백준 11811] 데스스타 [Java]

kimyoungrok 2025. 5. 27. 16:37
728x90

문제

11811번: 데스스타

 

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