Hệ thống ống nước

Đề bài

Mô tả

Một hệ thống ống nước gồm hai hàng, mỗi hàng có n ô. Ô trên cùng bên trái có toạ độ (1,1), ô dưới cùng bên phải có toạ độ (2,n).

Có sáu loại ống, đánh số từ 1 đến 6:

  • Ống thẳng: loại 1 nối đầu trái với đầu phải, loại 2 nối đầu trên với đầu dưới.
  • Ống cong: loại 3, 4, 5, 6 mỗi loại nối một đầu ngang với một đầu dọc, ứng với bốn hướng khác nhau (trái-trên, trên-phải, phải-dưới, dưới-trái).

Bạn được phép xoay mỗi ống 90 độ theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ bao nhiêu lần tuỳ ý (có thể không xoay lần nào). Vì vậy loại 1 và loại 2 có thể biến thành nhau, còn bốn loại 3, 4, 5, 6 có thể biến thành nhau; nhưng một ống thẳng không bao giờ trở thành ống cong và ngược lại.

Hai ống kề nhau được nối với nhau nếu đầu hở của chúng gặp nhau. Nước bắt đầu chảy từ (1,0) (bên trái ô (1,1)), đi vào ô (1,1), chảy qua các ống được nối với nhau và cuối cùng phải thoát ra khỏi ô (2,n) sang bên phải, tức tới (2,n+1).

Hãy xác định xem có cách xoay các ống để dòng nước đi được từ (1,0) tới (2,n+1) hay không.

Có q truy vấn độc lập.

Dữ liệu vào

  • Dòng đầu chứa số nguyên q là số truy vấn.
  • Mỗi truy vấn gồm đúng ba dòng:
    • Dòng thứ nhất chứa số nguyên n là số ống trên mỗi hàng.
    • Hai dòng tiếp theo mô tả hàng thứ nhất và hàng thứ hai, mỗi dòng gồm n chữ số từ 1 đến 6 viết liền nhau, chữ số thứ i là loại của ống ở cột i của hàng đó.

Dữ liệu ra

Với mỗi truy vấn, in ra YES nếu có thể làm cho dòng nước tới được (2,n+1), ngược lại in ra NO.

Ràng buộc

  • 1≤q≤104
  • 1≤n≤2·105
  • Tổng n trên tất cả các truy vấn không vượt quá 2·105.

Ví dụ

Input Output Giải thích
6
7
2323216
1615124
1
3
4
2
13
24
2
12
34
3
536
345
2
46
54
YES
YES
YES
NO
YES
NO
Ở truy vấn thứ tư, cả hai ống của hàng trên đều thẳng nên nước đi hết hàng trên rồi thoát ra tại (1,3) chứ không phải (2,3). Ở truy vấn cuối, nước đổi hàng hai lần nên quay lại hàng trên.
2
4
1234
2156
3
125
346
NO
YES
Truy vấn 1: nước đi thẳng qua hai cột đầu, đổi xuống hàng dưới ở cột 3 rồi lại đổi lên hàng trên ở cột 4, kết thúc sai hàng. Truy vấn 2: hai cột đầu là ống thẳng, cột 3 có ống cong ở cả hai hàng nên nước đổi xuống hàng dưới rồi thoát ra phải.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0