Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: 8ii8jj
Problemset: สำรวจอาเรย์ 2
Language: c
Time: 0.006 second
Submitted On: 2025-10-09 22:43:39
#include <stdio.h>
int main() {
int n, m, i, j, k, l;
scanf("%d %d", &n, &m);
int a[n][m];
int b = 0, c = 0, d = 0, e = 0;
// read matrix
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
scanf("%d", &a[i][j]);
}
}
scanf("%d", &l); // number of queries
int x[l], y[l];
int q = 1;
for (k = 0; k < l; k++) {
scanf("%d %d", &x[k], &y[k]);
x[k]--;
y[k]--;
if (x[k] < 0 || x[k] >= n || y[k] < 0 || y[k] >= m) {
if (k - q >= 0) { // prevent invalid index
if (a[x[k - q]][y[k - q]] % 2 == 0)
d++; // even
else
e++; // odd
if (a[x[k - q]][y[k - q]] > 0)
b++; // positive
else if (a[x[k - q]][y[k - q]] < 0)
c++; // negative
}
q++;
} else {
q = 1;
if (a[x[k]][y[k]] % 2 == 0)
d++; // even
else
e++; // odd
if (a[x[k]][y[k]] > 0)
b++; // positive
else if (a[x[k]][y[k]] < 0)
c++; // negative
}
}
printf("%d %d %d %d", b, c, d, e);
}