안테나 신호 덮기
의견: 0
도시에는 \(N\) 개의 구역이 \(1\) 번부터 \(N\) 번까지 있고, 설치 가능한 안테나가 \(M\) 개 있습니다. \(i\) 번 안테나는 어떤 구역들의 집합을 신호로 덮습니다.
\(M\) 개의 안테나 중 일부를 골라(아무것도 안 고를 수도 있음) 그들이 덮는 구역의 합집합이 정확히 전체 \(N\) 개 구역 전부가 되도록 하는 방법의 수를 구하세요. 안테나의 부분집합 자체가 다르면 다른 방법으로 셉니다.
답이 매우 클 수 있으므로 \(1\,000\,000\,007\) 로 나눈 나머지를 출력합니다. \(N \le 16\) 이므로 덮인 구역 집합을 비트마스크 상태로 두는 DP로 셀 수 있습니다.
- \(1 \le N \le 16\)
- \(1 \le M \le 30\)
- 각 안테나가 덮는 구역 번호는 서로 다르고 \(1\) 이상 \(N\) 이하입니다.
첫 줄에 구역 수 \(N\) 과 안테나 수 \(M\) 이 주어집니다.
이어서 \(M\) 개의 줄에 각 안테나가 주어집니다. 각 줄은 그 안테나가 덮는 구역의 개수 \(k\) 와 \(k\) 개의 구역 번호로 이루어집니다.
전체 구역을 정확히 덮는 안테나 부분집합의 수를 \(1\,000\,000\,007\) 로 나눈 나머지를 출력합니다.
3 3
2 1 2
2 2 3
1 333개의 안테나로 1,2,3 영역을 모두 덮는 안테나 부분집합의 수를 셉니다. {1,2},{1,3},{1,2,3} 의 3가지가 전체를 덮습니다.
2 2
1 1
1 21영역 1은 안테나 1만, 영역 2는 안테나 2만 덮으므로 두 안테나를 모두 골라야 합니다. 단 1가지입니다.
막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.
riseoj 작성
출처 Original
평가 및 의견
안테나 신호 덮기
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
안테나 신호 덮기