trang chủ / bài tập / coronate

Lễ đăng quang

Đề bài

Mô tả

Cho n chuỗi nhị phân s1,s2,,sn, mỗi chuỗi có độ dài m.

Hai chuỗi được gọi là tương tự nếu chúng giống nhau ở ít nhất k vị trí (tức là có ít nhất k chỉ số j sao cho ký tự thứ j 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 s đảo ngược thành s đọ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 t — số bộ test.

Với mỗi bộ test:

  • Dòng đầu chứa ba số nguyên n, m, k.
  • n dòng tiếp theo, mỗi dòng chứa một chuỗi nhị phân si độ dài m.

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 1 trên một dòng (không in gì thêm cho bộ test đó).
  • Ngược lại, dòng đầu in d — số chuỗi tối thiểu cần đảo ngược. Dòng thứ hai in d chỉ số (từ 1 đến n) của các chuỗi được đảo ngược, theo thứ tự bất kỳ. Nếu d=0, 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

  • 1t50
  • 2n50
  • 1km50

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 25. Khi đó mọi cặp chuỗi đều giống nhau ở ít nhất 2 vị trí. Có thể có nhiều cách đảo cho cùng giá trị d=2.
1
3 4 4
0001
1000
0000
-1 Với k=m=4, 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 2 thành 0001, khi đó hai chuỗi giống nhau ở cả 4 vị trí, đủ k=3. Đảo chuỗi 1 cũng cho đáp án hợp lệ với d=1.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0