Lễ đăng quang
Đề bài
Mô tả
Cho chuỗi nhị phân , mỗi chuỗi có độ dài .
Hai chuỗi được gọi là tương tự nếu chúng giống nhau ở ít nhất vị trí (tức là có ít nhất chỉ số sao cho ký tự thứ của hai chuỗi giống nhau).
Bạn có thể chọn một số chuỗi (có thể không chọn chuỗi nào) và đảo ngược chúng (chuỗi đảo ngược thành đọc từ phải sang trái). Hãy tìm số lượng chuỗi tối thiểu cần đảo ngược sao cho mọi cặp chuỗi đều tương tự với nhau.
Dữ liệu vào
Dòng đầu chứa số nguyên — số bộ test.
Với mỗi bộ test:
- Dòng đầu chứa ba số nguyên , , .
- dòng tiếp theo, mỗi dòng chứa một chuỗi nhị phân độ dài .
Dữ liệu ra
Với mỗi bộ test, in kết quả như sau:
- Nếu không thể làm cho mọi cặp chuỗi đều tương tự, in trên một dòng (không in gì thêm cho bộ test đó).
- Ngược lại, dòng đầu in — số chuỗi tối thiểu cần đảo ngược. Dòng thứ hai in chỉ số (từ đến ) của các chuỗi được đảo ngược, theo thứ tự bất kỳ. Nếu , dòng thứ hai để trống. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 1 5 7 2 1010100 0010101 1111010 1000010 0000101 |
2 2 5 |
Một đáp án hợp lệ: đảo chuỗi và . Khi đó mọi cặp chuỗi đều giống nhau ở ít nhất vị trí. Có thể có nhiều cách đảo cho cùng giá trị . |
| 1 3 4 4 0001 1000 0000 |
-1 | Với , mọi cặp phải hoàn toàn giống nhau, nhưng các chuỗi đã cho không thể đồng nhất kể cả khi đảo. |
| 1 2 4 3 0001 1000 |
1 2 |
Đảo chuỗi thành 0001, khi đó hai chuỗi giống nhau ở cả vị trí, đủ . Đảo chuỗi cũng cho đáp án hợp lệ với . |
Bình luận