Cặp đôi hoàn hảo

Xem PDF

Nộp bài


Điểm: 10 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 512M

Tác giả:
Dạng bài

Có \(N\) bạn học sinh và \(M\) bài tập. Năng lực làm bài tập của bạn học sinh thứ \(i\) được thể hiện bằng một xâu \(S_i\): ký tự thứ \(j\) của xâu này là o nếu học sinh \(i\) có thể giải được bài thứ \(j\), ngược lại ký tự x thể hiện rằng học sinh \(i\) không thể giải được bài thứ \(j\). Bạn hãy viết chương trình đếm xem có bao nhiêu cặp học sinh có thể phối hợp giải được tất cả \(M\) bài tập? Nói cách khác, có bao nhiêu cặp \((x,y)\) sao cho \(1\le x < y\le N\) và mỗi chỉ số \(i\) đều thỏa mãn \(S_{x,i}=\)o hoặc \(S_{y,i}=\)o.

Input
  • Dòng đầu chứa hai số nguyên dương \(N\) và \(M\). Mỗi số không vượt quá \(30\).
  • Dòng thứ \(i\) trong \(N\) dòng tiếp theo chứa xâu \(S_i\) độ dài \(M\) mô tả năng lực làm bài tập của học sinh thứ \(i\).
Output
  • In ra số cặp học sinh có thể phối hợp giải được tất cả \(M\) bài tập.
Ví dụ
Sample input 01
5 5
ooooo
oooxx
xxooo
oxoxo
xxxxx
Sample output 01
5
Giải thích

Các cặp \((1,2)\), \((1,3)\), \((1,4)\), \((1,5)\), \((2,3)\) có thể phối hợp để giải quyết tất cả \(M\) bài tập.

Sample input 02
2 4
xxxx
oxox
Sample output 02
0