Submission
Status:
PPPPPPxPPP
Subtask/Task Score:
90/100
Score: 90
User: theem1502
Problemset: สำรวจอาเรย์ 2
Language: c
Time: 0.005 second
Submitted On: 2025-09-21 08:25:26
#include <stdio.h>
#include <stdlib.h>
int main() {
int row, collumn;
scanf("%d %d", &row, &collumn);
int **thearray = malloc(row * sizeof(int*));
for (int i = 0; i < row; i++) {
thearray[i] = malloc(collumn * sizeof(int));
}
for (int i = 0; i < row; i++) {
for (int j = 0; j < collumn; j++) {
scanf("%d", &thearray[i][j]);
}
}
int num;
scanf("%d", &num);
int *xcoordinates = malloc(num * sizeof(int));
int * ycoordinates = malloc(num * sizeof(int));
for (int i = 0; i < num; i++) {
scanf("%d %d", &xcoordinates[i], &ycoordinates[i]);
}
int oddnum = 0, evennum = 0, positivenum = 0, negativenum = 0;
int previousxcoordinates = 0, previousycoordinates = 0;
for (int i = 0; i < num; i++) {
if (xcoordinates[i] <= 0 || ycoordinates[i] <= 0 || ycoordinates[i] > collumn || xcoordinates[i] > row) {
int currentnum = thearray[previousxcoordinates - 1][previousycoordinates - 1];
if (currentnum > 0) {
positivenum++;
}
else if(currentnum < 0) {
negativenum++;
}
if (currentnum % 2 == 0) {
evennum++;
}
else {
oddnum++;
}
continue;
}
else {
int currentnum = thearray[xcoordinates[i] - 1][ycoordinates[i] - 1];
if (currentnum > 0) {
positivenum++;
}
else if(currentnum < 0) {
negativenum++;
}
if (currentnum % 2 == 0) {
evennum++;
}
else {
oddnum++;
}
previousxcoordinates = xcoordinates[i];
previousycoordinates = ycoordinates[i];
}
}
printf("%d %d %d %d", positivenum, negativenum, evennum, oddnum);
}