Mc-A-Mc Mc

Time limit: 1.4s Memory limit: 40MB Input: Output:

Când toate bunoacele care mă văd vor să fie împreuna cu mine așa că îmi introduc prietenul scund într-un mod nonchalant având în căști PetrecereUșaUrmătoare (le-a speriat)

Cerință

Vi se dau numerele naturale NN, MM și o matrice de N×MN \times M formată din numere naturale mai mici sau egale cu 100100. Definim o mișcare cu sensul chch astfel:

Dacă chch=>, ne vom muta la dreapta cu o casuță
Dacă chch=<, ne vom muta in jos cu o casuță

Vi se dau QQ întrebări de forma:

K,s,SK, s, S unde acestea reprezintă lungimea șirului ss, un șir de mișcări, respectiv un număr întreg.

Pentru toate cele QQ întrebări, să se afișeze DA dacă exista o permutare a șirului de mișcări, începand din căsuța (1,1)(1, 1), astfel încât suma elementelor prin care am trecut să fie egală cu SS, altfel să se afișeze NU.

Date de intrare

Pe prima linie se vor găsi trei numere naturale NN, MM și QQ. Pe următoarele NN linii se vor afla câte MM valori, care reprezintă matricea. Pe următoarele QQ linii se va afla KK, un șir de mutări ss și SS, care reprezintă cele QQ întrebări.

Dacă folosiți citire cu std::cin, vă recomandăm să adăugați aceste linii la începutul programului:

std::ios_base::sync_with_stdio(0);
std::cin.tie(0);

Date de ieșire

Pe urmatoarele QQ linii se vor afla raspunsurile la întrebări.

Restricții și precizări

  • 2N,M5002 \leq N, M \leq 500;
  • 1mati,j100,1iN,1jM1 \leq mat_{i, j} \leq 100, 1 \leq i \leq N, 1 \leq j \leq M;
  • 1Q10 0001 \leq Q \leq 10 \ 000;
  • 1KN+M21 \leq K \leq N+M-2;
  • 1S(N+M1)1001 \leq S \leq (N+M-1) \cdot 100;
  • Se garanteaza ca în șirurile ss, << va apărea de maxim N1N-1 ori și >> va apărea de maxim M1M-1 ori;
# Punctaj Restricții
1 7 Q=1,K8Q=1, K \leq 8
2 28 N,M30N, M \leq 30
3 46 N,M200,1mati,j20N, M \leq 200, 1 \leq mat_{i, j} \leq 20
4 19 Fără alte restricții

Exemplul 1

stdin

3 4 6
7 8 9 1
1 15 3 4
5 4 3 6
2 >> 24
2 >> 23
2 <> 30
5 ><>>< 37
3 ><> 26
3 ><> 500

stdout

DA
NU
DA
DA
DA
NU

Explicație

Pentru primele două întrebări, oricum am permuta șirul de mutări, mereu vom parcurge matricea astfel: (1,1)(1,2)(1,3)(1, 1) \rightarrow (1, 2) \rightarrow (1, 3), iar suma va fi 7+8+9=247+8+9=24.
Pentru a treia întrebare, dacă permutăm șirul de mutări ca fiind ><, vom trece prin căsuțele matricei în ordinea aceasta: (1,1)(1,2)(2,2)(1, 1) \rightarrow (1, 2) \rightarrow (2, 2), iar suma va fi 7+8+15=307+8+15=30.

Log in or sign up to be able to send submissions!