USACO 2023 February Contest, Bronze, Stamp Grid

Xem PDF

Điểm: 1000 (p) Thời gian: 2.0s Bộ nhớ: 256K Input: bàn phím Output: màn hình

Tranh khắc dấu là một bức tranh đen trắng trên một tấm vải có kích thước \(N \times N\), trong đó một số ô được tô mực và số còn lại được để trống. Nó có thể được biểu diễn bằng một mảng \(N \times N\) (\(1 \le N \le 20\)). Phần tử thứ \(i\) của cột thứ \(j\) trong mảng là * nếu ô đó được tô và . nếu để trống.

Bessie muốn làm một bức tranh khắc dấu, vì vậy bác John đã cho cô mượn một con dấu có kích thước \(K \times K\) (\(1 \le K \le N\)) và một tấm vải \(N \times N\). Bessie có thể xoay con dấu theo chiều kim đồng hồ \(90^o\) và đóng dấu ở bất kỳ đâu trên tấm vải miễn là con dấu nằm hoàn toàn trong tấm vải. Cụ thể, để đóng dấu, Bessie chọn các số nguyên \(i, j\) sao cho \(i \in [1, N-K+1]\)\(j \in [1, N-K+1]\); với mỗi \((i', j')\) sao cho \(1 \le i', j' \le K\), ô vải \((i+i'-1, j+j'-1)\) được tô đen nếu con dấu có mực tại \((i', j')\). Bessie có thể xoay con dấu bất kỳ lúc nào giữa các lần đóng dấu. Nếu một ô đã được tô, nó sẽ giữ nguyên màu.

Bác John muốn biết liệu Bessie có thể tạo ra tranh tem mong muốn của mình với con dấu của ông hay không. Với \(T\) (\(1 \le T \le 100\)) bộ test, hãy giúp bác John trả lời câu hỏi này.

INPUT

Nhập dữ liệu từ terminal / stdin:

  • Dòng đầu tiên chứa số nguyên \(T\), số lượng bộ test \((1 \le T \le 100)\).
  • Mỗi bộ test bao gồm:
    • Một số nguyên \(N\), sau đó là \(N\) dòng, mỗi dòng chứa một chuỗi ký tự *., mô tả bức tranh mong muốn.
    • Một số nguyên \(K\), sau đó là \(K\) dòng, mỗi dòng chứa một chuỗi ký tự *., mô tả con dấu.

Note: Các truy vấn được phân cách bởi một dòng trống.

OUTPUT

In ra terminal/stdout:

  • Với mỗi bộ test, in "YES" nếu có thể tạo ra bức tranh mong muốn, ngược lại in "NO".

SCORING

  • \(100\%\) subtasks không có ràng buộc nào khác

Test 1

Input
4

2
**
*.
1
*

3
.**
.**
***
2
.*
**

3
...
.*.
...
3
.*.
...
...

3
**.
.**
..*
2
.*
*.
Output
YES
YES
NO
YES
Note
  • Test 1: Bessie thực hiện như sau:

    1. Đóng dấu tại \((1,1)\).
    2. Đóng dấu tại \((1,2)\).
    3. Đóng dấu tại \((2,1)\).
  • Test 2: Bessie thực hiện các bước:

    1. Đóng dấu tại \((2,2)\).
    2. Đóng dấu tại \((2,1)\).
    3. Sau đó xoay con dấu 90 độ hai lần và đóng dấu tại \((1,2)\).
  • Test 3: Không thể tô được ô ở giữa tấm vải.

  • Test 4: Bessie xoay con dấu 90 độ và thực hiện các bước:

    1. Đóng dấu tại \((1,1)\).
    2. Đóng dấu tại \((1,2)\).
    3. Đóng dấu tại \((2,2)\).

Bình luận

Không có bình luận nào.