Complementary Teams (APCS 2019-06 Advanced Extended)
2.0s 256MThe \(m\) skills use A through Z, followed by a through l. Each team is represented by a nonempty string of skills; repeated letters count once. Two teams are complementary when their skill sets are disjoint and together contain every skill. Count unordered pairs of distinct teams. Identical sets may belong to different teams.
Input
Read \(m,n\), followed by \(n\) team strings.
Constraints
\(1\le m\le38\), \(1\le n\le500000\). Each string has \(1\) to \(1000\) characters, using only the first \(m\) skills.
Output
Print the number of complementary pairs.
Scoring
Each scored test independently awards 5 points, totaling 100. Samples award no points.
- 1: 5% — \(m=2,n\le1000\); all sets are distinct.
- 2: 20% — \(m\le26,n\le10000\); all sets are distinct.
- 3: 50% — \(m\le26,n\le100000\); all sets are distinct.
- 4: 25% — No additional restrictions; duplicate sets are allowed.
Sample Input
3 4
ABB
AB
C
CC
Sample Output
4
Source
e288 · 2019-06 APCS. Extended public version; the last 25% permits duplicate skill sets.
Log in to write and submit code.
Log in