본문 바로가기
PS 문제 풀이/Baekjoon

[BOJ] 백준 11811 데스스타

by 까망 하르방 2021. 2. 28.
반응형

출처: https://www.acmicpc.net/problem/11811

Approach

 비트마스크 (Bitmask) 

 

비트마스크 (Bitmask)

비트마스크 정수의 이진수 표현(Bit)을 자료 구조로 쓰는 기법 현대의 모든 CPU는 이진수를 이용해도 모든 자fy 표현 내부적으로 이진수를 사용하는 컴퓨터들은 이진법 관련 연산들을 아주 빨리

zoosso.tistory.com

Input Data에서 마지막 행은 다음과 같다.

m4i =

▶ m40 = 1 = a4 & a0 

    11 & 1  1011 & 0001 = 0001

▶ m41 = 2 = a4 & a

    11 & 2  1011 & 0010 = 0010

▶ m42 = 3 = a4 & a

    11 & 3  1011 & 0011 = 0011

▶ m43 = 1 = a4 & a

    11 & 1  1011 & 0001 = 0001

 

각 행의 모든 값을 OR 연산하면 답을 얻을 수 있습니다.

 a[i] = a[i] | m[i][j]

    (초기 a[i] = 0)

 


#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
 
int a[1001];
int main(){
    int n, m;
    cin >> n;
 
    for (int i = 0; i < n; ++i){
        for (int j = 0; j < n; ++j){
            cin >> m;
            // 주대각선에 있는 값은 무시
            // 0으로 입력받기에 OR 연산처리 시켜도 무방
            if (i == j) continue;
            a[i] = a[i] | m;
        }
    }
 
    for (int i = 0; i < n; i++)
        printf("%d ", a[i]);
    
}

 

반응형

'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글

[BOJ] 백준 11727 2×n 타일링 2  (0) 2021.03.01
[BOJ] 백준 11723 집합  (0) 2021.02.28
[BOJ] 백준 1062 가르침  (0) 2021.02.28
[BOJ] 백준 12813 이진수 연산  (0) 2021.02.28
[BOJ] 백준 1436 영화감독 숌  (0) 2021.02.28

댓글