본문 바로가기

비트마스크4

BOJ 14939 - 전구 끄기 (비트마스크, 그리디, 완탐) https://www.acmicpc.net/problem/14939 https://www.acmicpc.net/problem/14927 n*n그리드 위에 꺼진전구와 켜진 전구가 주어진다. 한 전구의 스위치를 누르면 주변4방향과 자기 자신의 상태가 변한다. 모든 전구를 끄기위해 최소 몇번 스위치를 눌러야 하는가? (n 2020. 5. 19.
비트마스크 1은 부호있는 32비트 상수취급이므로 (1 2020. 2. 5.
Educational codeforces #80 D - Minimax Problem(이분탐색, 비트마스크) https://codeforces.com/contest/1288/problem/D 최대 3e5개의 숫자 배열이 들어온다. 각 배열은 최대 m(m 20 0 1 0 1 1 -> 11 두 배열을 or했을 때 1 1 1 1 1이 되므로 b는 3이상의 최소값을 갖는다. 이번엔 4 이상이면 1, 4미만이면 0으로 바꿔보자 1 0 0 0 0 0 0 0 1 0 OR 연산 후에 1 1 1 1 1이 되지 않으므로 b는 4를 최소값으로 갖지 못한다 여기까지 생각했어도 isPossible(mid) 부분을 구현하는것이 쉽지 않다. 모든 배열에 대해 2중 for문으로 검사하면 n^2으로 시간초과다. 좀더 최적화 해보자 하나의 배열이 갖을 수 있는 비트값은 0 ~ (1 2020. 1. 17.
BOJ 1194 - 달이 차오른다, 가자 https://www.acmicpc.net/problem/1194 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, 영식이가 열쇠를 숨겨놓는 다면 문에 대응하는 열쇠가 없을 수도 있다. 0은 한 개, 1은 적어도 한 개 있다. 그리고, 열쇠는 여러 번 사용할 수 있다. www.acmicpc.net 제약조건(열쇠,문)이 추가된 플러드필 문제이다 처음엔 큐에 방문노드위치(cy,cx)와 비트마스크를 이용한 현재 key, 그리고 visited배열을 넘겨주면서 열쇠를 먹으면 false로 초기화된 visited를 다음 .. 2019. 8. 6.