14122: Штамп живопис-Stamp Grid-USACO2022FebBronze


Відправити розв'язок

Бали: 100 (partial)
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

Штамп-живопис - це розфарбовування чорним і білим кольором полотна розміром \(N \times N\) комірок, де певні комірки зафарбовуються, інші - ні. Це полотно може бути представлене масивом символів \(N\times N\) (\(1\le N\le 20\)). \(i\)-ий символ \(j\)-ї колонки масиву дорівнює '*', якщо полотно містить фарбу в цій комірці і символ '.' в іншому випадку.

У Бесі є план малюнка, а Фермер Джон дав їй штамп розміром \(K\times K\) (\(1\le K\le N\)) який вона може використовувати для забарвлення полотна розміром \(N \times N\). Бесі може повертати штамп на \(90^{\circ}\) за годинниковою стрілкою та застосовувати його для забарвлення полотна в будь-якому місці, якщо штамп міститься повністю на полотні. Формально, Бесі вибирає цілі числа \(i,j\), що \(i \in [1,N-K+1]\) і \(j \in [1, N-K+1]\); і потім для кожного \((i',j')\) такого, що \(1 \le i', j' \le K\), комірка полотна \((i+i'-1, j+j'-1)\) зафарбовується в чорний колір, якщо в штампі було чорнило у позиції \((i', j')\). Бесі може повертати свій штамп у будь-який момент між зафарбовування. Якщо комірку зафарбували вона залишається зафарбованою назавжди.

ФД цікаво, чи може Бесі створити свій малюнок, використовуючи його штамп. Для кожного з \(T\) (\(1 \le T \le 100\)) підтестів допоможіть ФД отримати відповідь.

Формат вхідних даних

Перший рядок введення містить \(T\) - кількість підтестів.

Кожен підтест починається з цілого числа \(N\), за яким слідують \(N\) рядків, їх символів '*' і '.', що представляють малюнок, який Бесі хоче намалювати. Наступний рядок містить число \(K\), за яким слідує \(K\) рядків, кожна з яких містить символи '*' і '.', які мають штамп ФД.

Послідовні підтести розділені порожніми рядками.

Формат вихідних даних

Для кожного підтесту виведіть "YES" або "NO" на окремому рядку.

Приклад вхідних даних

4

2
**
*.
1
*

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

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

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

Приклад вихідних даних

YES
YES
NO
YES

У першому підтесті Бесі може виконати таку послідовність штампів:

  1. Штамп \((1,1)\)
  2. Штамп \((1,2)\)
  3. Штамп \((2,1)\)

У другому підтесті Бесі може виконати таку послідовність штампів:

  1. Штамп \((2,2)\)
  2. Штамп \((2,1)\)
  3. Повернути на \(90^{\circ}\)
  4. Повернути на \(90^{\circ}\)
  5. Штамп \((1,2)\)

У третьому підтесті неможливо зафарбувати середній осередок.

У четвертому підтесті Бесі може виконати таку послідовність штампів:

  1. Повернути на \(90^{\circ}\)
  2. Штамп \((1,1)\)
  3. Штамп \((1,2)\)
  4. Штамп \((2,2)\)

Коментарі

Ще немає коментарів.