Acces

Time limit: 1.5s Memory limit: 16MB Input: acces.in Output: acces.out

Considerăm o matrice cu LL linii (numerotate de sus în jos de la 11 la LL) şi CC coloane (numerotate de la stânga la dreapta de la 11 la CC) care memorează doar valori 00 şi 11. Mai mult, valorile egale cu 11 sunt grupate în mai multe dreptunghiuri pline, care nu se învecinează nici pe linii, nici pe coloane, nici pe diagonale. În exemplul din fig. 1 matricea este corectă deoarece cele 44 dreptunghiuri de 11 nu se învecinează. În schimb în fig. 2 există 22 dreptunghiuri de 11 învecinate pe coloană şi două învecinate pe diagonală, deci matricea este incorectă.

În această matrice se pot face deplasări doar pe direcţiile Vest şi Nord în elemente egale cu 00, deci din poziţia (i,j)(i,j) se poate ajunge doar într-una din poziţiile (i,j1)(i,j-1) şi (i1,j)(i-1,j), marcate cu 00. În acest fel, pornind de la o anumită poziţie, prin deplasări succesive, pot fi accesate un anumit număr de elemente ale matricei egale cu 00. De exemplu, în fig. 1, din poziţia (2,4)(2,4) pot fi accesate 55 componente egale cu 00, iar din poziţia (5,4)(5,4) pot fi accesate 1414 componente egale cu 00.

Trebuie să răspundeţi la QQ întrebări, fiecare întrebare fiind de forma: “Câte din elementele egale cu zero ale matricei pot fi accesate din poziţia (i,j)(i,j) ?”

Cerinţă

Scrieţi un program care să determine, pentru fiecare întrebare, câte elemente egale cu 0 din matrice pot fi accesate din poziţia precizată în cadrul întrebării.

Date de intrare

Pe prima linie a fişierului acces.in se află două numere naturale LL şi CC separate printr-un spaţiu, reprezentând numărul liniilor, respectiv numărul coloanelor matricei. Pe următoarele LL linii se găsesc câte CC cifre binare, separate prin câte un spaţiu, reprezentând elementele matricei. Pe linia următoare se află numărul natural QQ, reprezentând numărul întrebărilor. Pe următoarele QQ linii se găsesc câte două numere naturale ii şi jj, separate prin câte un spaţiu, reprezentând poziţia corespunzătoare unei întrebări.

Date de ieșire

Fişierul acces.out conţine QQ linii. Pe linia p (1pQ)p \ (1 ≤ p ≤ Q) se află un număr natural kpk_p reprezentând răspunsul la cea de-a pp-a întrebare.

Restricții și precizări

  • 4L,C1 0004 ≤ L, C ≤ 1 \ 000
  • 3Q500 0003 ≤ Q ≤ 500 \ 000
  • Pentru orice întrebare i ji \ j se garantează că valoarea corespunzătoare din matrice este 00.
  • pentru toate testele, dreptunghiurile formate din valori de 11 nu se învecinează

Exemplu

acces.in

5 7
0 0 0 0 1 1 1
0 1 1 0 1 1 1
0 1 1 0 0 0 0
0 1 1 0 1 0 0
0 0 0 0 1 0 1
4
2 4
5 4
4 7
3 1

acces.out

5
14
11
3

Explicație

Pentru prima întrebare, cele 55 componente egale cu 00 care pot fi accesate sunt cele din poziţiile (1,1),(1,2),(1,3),(1,4),(2,4)(1,1), (1, 2), (1,3), (1,4), (2,4).

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