canuc80k0100·1/50

Bốn Ô Đồng Màu

Nộp bài trên LQDOJ

Bài 01 · Ad Hoc

Một ảnh gồm đúng ô. Mỗi ô có một màu, được ký hiệu bằng một chữ cái Latin thường.

Trong một thao tác, bạn chọn không quá hai ô đang có cùng màu, rồi đổi tất cả các ô đã chọn sang cùng một màu khác. Hãy tìm số thao tác ít nhất để cả bốn ô có cùng màu.

Input

  • Dòng đầu chứa số nguyên - số bộ test.
  • Mỗi bộ test gồm hai dòng; mỗi dòng là một xâu độ dài mô tả một hàng của ảnh.

Output

  • Với mỗi bộ test, in một số nguyên trên một dòng: số thao tác ít nhất.

Constraints

  • .
  • Mỗi ký tự là một chữ cái Latin thường từ đến .

Scoring

  • Subtask ( số điểm): .
  • Subtask ( số điểm): Không có giới hạn bổ sung.

Example

Test 1

Input

4
aa
aa
aa
ab
ab
ac
ab
cd

Output

0
1
2
3

Giải thích: Bốn test lần lượt có màu phân biệt; mỗi thao tác loại bỏ được nhiều nhất một màu, nên kết quả là .

Lời giải tóm tắt
  • Ý tưởng: Gọi d là số màu phân biệt trong bốn ô. Giữ lại một màu làm màu đích; với từng màu còn lại, đổi một hoặc hai ô mang màu đó sang màu đích, nên dùng được d-1 thao tác. Ngược lại, một thao tác chỉ tác động lên một màu cũ nên làm số màu phân biệt giảm nhiều nhất một. Vì phải giảm từ d xuống 1, không thể dùng ít hơn d-1 thao tác.
  • Ý tưởng: Chỉ cần đánh dấu 26 chữ cái xuất hiện rồi in số lượng đã đánh dấu trừ một. Độ phức tạp là O(1) cho mỗi test.