[DHBB24 - CTB - 10] Bài 3: So sánh văn bản
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Phân loại văn bản là một vấn đề có ý nghĩa ứng dụng quan trọng. Xét bài toán cơ bản trong phân loại văn bản sau đây: Cho ~V~ là tập gồm ~m~ văn bản ~v_1, v_2, \dots, v_m~ và ~P~ là tập gồm ~n~ thuộc tính ~p_1, p_2, \dots, p_n~. Đối với mỗi văn bản ~v_i~ người ta đã khảo sát xem nó có những thuộc tính nào trong số ~n~ thuộc tính trong ~P~. Kết quả khảo sát đối với mỗi văn bản được ghi nhận dưới dạng một xâu gồm ~n~ ký tự ‘+’ hoặc ‘-’, trong đó ký tự thứ ~k~ là ‘+’ nếu như văn bản có thuộc tính ~p_k~ và là ‘-’ nếu như văn bản không có thuộc tính đó (~k = 1, 2, \dots, n~). Ta nói văn bản ~u~ là bao hàm văn bản ~v~ nếu như ~u~ có tất cả các thuộc tính như ~v~ và hơn nữa ~u~ phải có ít nhất một thuộc tính mà ~v~ không có.
Yêu cầu: Cho biết ~m, n~ và ~m~ xâu ghi nhận kết quả khảo sát, hãy tính số lượng cặp số ~(i, j)~, ~1 \le i, j \le m~ mà văn bản ~v_i~ bao hàm văn bản ~v_j~.
Input
- Dòng đầu tiên chứa hai số nguyên dương ~m~ và ~n~;
- Dòng thứ ~i~ trong số ~m~ dòng tiếp theo chứa xâu gồm ~n~ ký hiệu, mỗi ký hiệu là ‘+’ hoặc ‘-’ là kết quả khảo sát văn bản ~v_i~, ~i = 1, 2, \dots, m~.
Output
- Ghi ra một số nguyên duy nhất là số lượng cặp số tìm được.
Sample Input 1
5 5
++++-
++---
+-+-+
----+
---+-
Sample Output 1
3
Sample Input 2
3 4
-+--
--++
+-+-
Sample Output 2
0
Bình luận