Văn học nhị phân

Đề bài

Mô tả

Một xâu nhị phân là xâu chỉ gồm các ký tự 01.

Cho ba xâu nhị phân đôi một khác nhau, mỗi xâu có độ dài 2n. Hãy tìm một xâu nhị phân có độ dài không vượt quá 3n sao cho ít nhất hai trong ba xâu đã cho là xâu con (subsequence) của nó.

Xâu a được gọi là xâu con của xâu b nếu có thể thu được a bằng cách xóa đi một số (có thể bằng 0) ký tự khỏi b.

Có thể chứng minh rằng với các ràng buộc của bài toán, một xâu như vậy luôn tồn tại. Nếu có nhiều đáp án, bạn có thể in ra bất kỳ đáp án nào hợp lệ.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t — số lượng bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm:
    • Một dòng chứa số nguyên n.
    • Ba dòng tiếp theo, mỗi dòng chứa một xâu nhị phân độ dài 2n. Ba xâu này đôi một khác nhau.

Tổng của n trên tất cả các bộ dữ liệu không vượt quá 105.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra trên một dòng một xâu nhị phân độ dài không quá 3n chứa ít nhất hai trong ba xâu đã cho làm xâu con.

Ràng buộc

  • 1t104
  • 1n105
  • Tổng n trên tất cả các bộ không vượt quá 105.
  • Ba xâu trong mỗi bộ đôi một khác nhau.

Ví dụ

Input Output Giải thích
2
1
00
11
01
3
011001
111010
010001
011
011001010
Bộ 1: xâu 011 (độ dài 33n) chứa xâu 11 và xâu 01 làm xâu con; xâu 00 thì không, nhưng điều đó không cần thiết. Bộ 2: xâu 011001010 chứa xâu thứ nhất (011001) và xâu thứ ba (010001) làm xâu con.
1
3
000000
111111
010101
010101111 Xâu 010101111 (độ dài 9=3n) chứa xâu 111111 và xâu 010101 làm xâu con.

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 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